/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:30:38,958 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:30:38,960 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:30:38,988 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:30:38,989 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:30:38,990 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:30:38,991 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:30:38,992 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:30:38,994 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:30:38,995 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:30:38,996 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:30:38,997 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:30:38,997 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:30:38,998 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:30:38,999 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:30:38,999 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:30:39,000 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:30:39,001 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:30:39,002 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:30:39,004 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:30:39,005 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:30:39,007 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:30:39,008 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:30:39,009 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:30:39,010 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:30:39,012 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:30:39,013 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:30:39,013 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:30:39,014 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:30:39,014 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:30:39,015 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:30:39,015 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:30:39,016 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:30:39,017 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:30:39,017 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:30:39,018 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:30:39,018 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:30:39,019 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:30:39,019 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:30:39,019 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:30:39,020 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:30:39,021 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:30:39,021 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:30:39,030 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:30:39,030 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:30:39,031 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:30:39,032 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:30:39,032 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:30:39,032 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:30:39,032 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:30:39,032 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:30:39,033 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:30:39,033 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:30:39,033 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:30:39,033 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:30:39,033 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:30:39,034 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:30:39,034 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:30:39,034 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:30:39,034 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:30:39,034 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:30:39,035 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:30:39,035 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:30:39,041 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:30:39,041 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:30:39,041 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:30:39,042 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:30:39,042 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:30:39,042 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 05:30:39,237 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:30:39,258 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:30:39,261 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:30:39,262 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:30:39,262 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:30:39,264 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-08 05:30:39,333 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2510e0324/ae71aed7c72e492285e1ded7d38d951d/FLAG704f1ac0d [2022-04-08 05:30:39,695 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:30:39,695 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-08 05:30:39,701 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2510e0324/ae71aed7c72e492285e1ded7d38d951d/FLAG704f1ac0d [2022-04-08 05:30:39,712 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2510e0324/ae71aed7c72e492285e1ded7d38d951d [2022-04-08 05:30:39,715 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:30:39,716 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:30:39,718 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:30:39,718 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:30:39,723 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:30:39,724 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:30:39" (1/1) ... [2022-04-08 05:30:39,725 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@50e8389a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:39, skipping insertion in model container [2022-04-08 05:30:39,725 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:30:39" (1/1) ... [2022-04-08 05:30:39,732 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:30:39,743 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:30:39,944 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c[489,502] [2022-04-08 05:30:39,990 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:30:39,997 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:30:40,010 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c[489,502] [2022-04-08 05:30:40,034 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:30:40,046 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:30:40,047 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40 WrapperNode [2022-04-08 05:30:40,048 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:30:40,049 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:30:40,049 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:30:40,049 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:30:40,060 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,061 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,069 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,070 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,086 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,091 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,092 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,094 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:30:40,094 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:30:40,095 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:30:40,095 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:30:40,098 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (1/1) ... [2022-04-08 05:30:40,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:30:40,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:40,133 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 05:30:40,146 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 05:30:40,175 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:30:40,176 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:30:40,176 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:30:40,176 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:30:40,176 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:30:40,176 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:30:40,176 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:30:40,179 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:30:40,180 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:30:40,180 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:30:40,180 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:30:40,181 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:30:40,181 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:30:40,182 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:30:40,243 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:30:40,245 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:30:40,440 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:30:40,447 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:30:40,447 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 05:30:40,449 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:30:40 BoogieIcfgContainer [2022-04-08 05:30:40,449 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:30:40,450 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:30:40,451 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:30:40,461 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:30:40,462 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:30:39" (1/3) ... [2022-04-08 05:30:40,463 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e44a3e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:30:40, skipping insertion in model container [2022-04-08 05:30:40,463 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:30:40" (2/3) ... [2022-04-08 05:30:40,464 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e44a3e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:30:40, skipping insertion in model container [2022-04-08 05:30:40,464 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:30:40" (3/3) ... [2022-04-08 05:30:40,465 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound50.c [2022-04-08 05:30:40,469 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:30:40,469 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:30:40,508 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:30:40,514 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 05:30:40,514 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:30:40,530 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:30:40,536 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 05:30:40,537 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:40,537 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:40,538 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:40,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:40,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-08 05:30:40,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:40,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1039234333] [2022-04-08 05:30:40,562 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:40,562 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-08 05:30:40,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:40,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178161746] [2022-04-08 05:30:40,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:40,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:40,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:40,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:30:40,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:40,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-08 05:30:40,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:30:40,744 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:30:40,745 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:30:40,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:40,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:30:40,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:30:40,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:30:40,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:30:40,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:30:40,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:40,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:30:40,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:30:40,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:30:40,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:30:40,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:30:40,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-08 05:30:40,767 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:30:40,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:30:40,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-08 05:30:40,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-08 05:30:40,768 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 05:30:40,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:30:40,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:30:40,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:30:40,769 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:30:40,770 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 05:30:40,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:30:40,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:30:40,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:30:40,771 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:30:40,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-08 05:30:40,772 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-08 05:30:40,772 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-08 05:30:40,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 05:30:40,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 05:30:40,772 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 05:30:40,773 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:30:40,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:40,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [178161746] [2022-04-08 05:30:40,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [178161746] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:40,775 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:40,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:30:40,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:40,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1039234333] [2022-04-08 05:30:40,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1039234333] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:40,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:40,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:30:40,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1029330999] [2022-04-08 05:30:40,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:40,783 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 05:30:40,785 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:40,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:40,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:40,815 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:30:40,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:40,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:30:40,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:30:40,836 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,139 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-08 05:30:41,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:30:41,140 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 05:30:41,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:41,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:30:41,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:30:41,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-08 05:30:41,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:41,265 INFO L225 Difference]: With dead ends: 64 [2022-04-08 05:30:41,266 INFO L226 Difference]: Without dead ends: 31 [2022-04-08 05:30:41,269 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:30:41,272 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:41,273 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:30:41,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-08 05:30:41,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-08 05:30:41,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:41,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,303 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,304 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,308 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:30:41,309 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:30:41,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:41,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:41,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-08 05:30:41,311 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-08 05:30:41,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,315 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:30:41,315 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:30:41,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:41,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:41,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:41,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:41,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-08 05:30:41,320 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-08 05:30:41,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:41,321 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-08 05:30:41,321 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-08 05:30:41,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:41,363 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-08 05:30:41,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:30:41,364 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:41,364 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:41,364 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:30:41,365 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:41,365 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:41,365 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-08 05:30:41,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:41,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1423643297] [2022-04-08 05:30:41,367 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:41,367 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-08 05:30:41,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:41,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1077732961] [2022-04-08 05:30:41,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:41,368 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:41,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:41,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:30:41,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:41,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,470 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:30:41,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:41,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:30:41,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:30:41,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:30:41,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:30:41,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:41,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:30:41,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:30:41,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:30:41,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,499 INFO L272 TraceCheckUtils]: 0: Hoare triple {304#true} call ULTIMATE.init(); {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:30:41,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,504 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#(= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-08 05:30:41,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:30:41,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:30:41,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:30:41,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,512 INFO L272 TraceCheckUtils]: 11: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-08 05:30:41,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:30:41,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:30:41,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:30:41,514 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {309#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:30:41,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {309#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {318#(= |main_#t~post6| 0)} is VALID [2022-04-08 05:30:41,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {305#false} is VALID [2022-04-08 05:30:41,516 INFO L272 TraceCheckUtils]: 19: Hoare triple {305#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {305#false} is VALID [2022-04-08 05:30:41,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-08 05:30:41,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-08 05:30:41,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-08 05:30:41,517 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:30:41,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:41,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1077732961] [2022-04-08 05:30:41,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1077732961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:41,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:41,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:41,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:41,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1423643297] [2022-04-08 05:30:41,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1423643297] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:41,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:41,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:41,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062580050] [2022-04-08 05:30:41,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:41,520 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 05:30:41,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:41,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:41,539 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:41,540 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:41,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:41,541 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:30:41,541 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,831 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-08 05:30:41,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:30:41,833 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 05:30:41,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:41,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:30:41,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:30:41,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-08 05:30:41,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:41,903 INFO L225 Difference]: With dead ends: 42 [2022-04-08 05:30:41,903 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 05:30:41,904 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:30:41,908 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:41,909 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:30:41,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 05:30:41,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 05:30:41,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:41,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,929 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,930 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,937 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:30:41,938 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:30:41,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:41,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:41,945 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-08 05:30:41,946 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-08 05:30:41,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:41,948 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:30:41,948 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:30:41,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:41,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:41,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:41,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:41,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:30:41,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 05:30:41,959 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-08 05:30:41,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:41,959 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 05:30:41,959 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:30:41,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 05:30:42,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:42,003 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:30:42,003 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:30:42,003 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:42,003 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:42,004 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 05:30:42,004 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:42,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:42,005 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-08 05:30:42,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:42,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [710971401] [2022-04-08 05:30:42,011 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:42,011 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-08 05:30:42,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:42,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1497965335] [2022-04-08 05:30:42,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:42,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:42,049 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:42,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1105347231] [2022-04-08 05:30:42,050 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:42,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:42,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:42,059 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:42,085 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 05:30:42,116 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:30:42,117 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:42,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:30:42,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:42,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:42,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-08 05:30:42,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {537#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {537#true} is VALID [2022-04-08 05:30:42,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:30:42,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-08 05:30:42,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-08 05:30:42,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {537#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {537#true} is VALID [2022-04-08 05:30:42,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {537#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-08 05:30:42,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:30:42,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:30:42,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:30:42,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-08 05:30:42,325 INFO L272 TraceCheckUtils]: 11: Hoare triple {537#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-08 05:30:42,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:30:42,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:30:42,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:30:42,325 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-08 05:30:42,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {537#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:30:42,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:30:42,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:30:42,337 INFO L272 TraceCheckUtils]: 19: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:42,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:42,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-08 05:30:42,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-08 05:30:42,339 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:30:42,339 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:30:42,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:42,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1497965335] [2022-04-08 05:30:42,339 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:42,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1105347231] [2022-04-08 05:30:42,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1105347231] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:42,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:42,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:42,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:42,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [710971401] [2022-04-08 05:30:42,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [710971401] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:42,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:42,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:42,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215101490] [2022-04-08 05:30:42,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:42,342 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 05:30:42,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:42,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:30:42,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:42,373 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:42,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:42,374 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:42,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:30:42,375 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:30:42,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:42,631 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-08 05:30:42,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:42,632 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 05:30:42,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:42,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:30:42,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:42,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:30:42,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:42,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:30:42,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:42,701 INFO L225 Difference]: With dead ends: 49 [2022-04-08 05:30:42,702 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 05:30:42,702 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:30:42,708 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:42,713 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:42,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 05:30:42,738 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-08 05:30:42,738 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:42,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:42,740 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:42,741 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:42,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:42,747 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:30:42,747 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:30:42,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:42,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:42,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-08 05:30:42,750 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-08 05:30:42,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:42,753 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:30:42,753 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:30:42,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:42,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:42,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:42,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:42,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:42,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-08 05:30:42,757 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-08 05:30:42,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:42,757 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-08 05:30:42,758 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:30:42,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-08 05:30:42,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:42,823 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:30:42,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 05:30:42,825 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:42,825 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:42,854 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:43,051 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:43,052 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:43,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:43,053 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-08 05:30:43,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:43,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [194658216] [2022-04-08 05:30:43,053 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:43,053 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-08 05:30:43,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:43,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1580840067] [2022-04-08 05:30:43,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:43,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:43,074 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:43,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [603429900] [2022-04-08 05:30:43,075 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:43,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:43,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:43,080 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:43,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 05:30:43,132 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:43,133 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:43,134 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:30:43,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:43,147 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:43,334 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-08 05:30:43,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {896#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {896#true} is VALID [2022-04-08 05:30:43,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:30:43,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-08 05:30:43,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-08 05:30:43,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {896#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {896#true} is VALID [2022-04-08 05:30:43,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-08 05:30:43,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:30:43,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:30:43,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:30:43,336 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-08 05:30:43,336 INFO L272 TraceCheckUtils]: 11: Hoare triple {896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-08 05:30:43,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:30:43,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:30:43,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:30:43,337 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-08 05:30:43,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:43,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:43,339 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:43,339 INFO L272 TraceCheckUtils]: 19: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {896#true} is VALID [2022-04-08 05:30:43,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:30:43,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:30:43,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:30:43,340 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {896#true} {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:43,341 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {974#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:43,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:43,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-08 05:30:43,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-08 05:30:43,343 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:30:43,343 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:30:43,343 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:43,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1580840067] [2022-04-08 05:30:43,343 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:43,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [603429900] [2022-04-08 05:30:43,343 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [603429900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:43,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:43,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:43,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:43,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [194658216] [2022-04-08 05:30:43,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [194658216] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:43,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:43,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:43,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337468497] [2022-04-08 05:30:43,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:43,345 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 05:30:43,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:43,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:30:43,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:43,365 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:43,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:43,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:43,366 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:30:43,367 INFO L87 Difference]: Start difference. First operand 46 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:30:43,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:43,601 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-08 05:30:43,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:43,602 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 05:30:43,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:43,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:30:43,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:43,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:30:43,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:43,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:30:43,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:43,667 INFO L225 Difference]: With dead ends: 53 [2022-04-08 05:30:43,667 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 05:30:43,668 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:30:43,669 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:43,670 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:43,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 05:30:43,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 05:30:43,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:43,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:43,694 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:43,694 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:43,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:43,698 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:30:43,698 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:30:43,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:43,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:43,699 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-08 05:30:43,699 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-08 05:30:43,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:43,703 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:30:43,703 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:30:43,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:43,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:43,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:43,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:43,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:30:43,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-08 05:30:43,709 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-08 05:30:43,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:43,709 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-08 05:30:43,709 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:30:43,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-08 05:30:43,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:43,774 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:30:43,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:30:43,775 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:43,775 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:43,803 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:43,975 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-08 05:30:43,976 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:43,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:43,976 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-08 05:30:43,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:43,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1078027344] [2022-04-08 05:30:43,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:43,977 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-08 05:30:43,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:43,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1661270388] [2022-04-08 05:30:43,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:43,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:43,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:43,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1379212504] [2022-04-08 05:30:43,992 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:43,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:43,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:43,994 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:44,021 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 05:30:44,051 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:44,052 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:44,053 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:30:44,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:44,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:44,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:30:44,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-08 05:30:44,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:30:44,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:30:44,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-08 05:30:44,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:30:44,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:30:44,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:30:44,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#true} #64#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-08 05:30:44,323 INFO L272 TraceCheckUtils]: 11: Hoare triple {1331#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,327 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-08 05:30:44,328 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:30:44,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:30:44,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:30:44,329 INFO L272 TraceCheckUtils]: 19: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,330 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,331 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:30:44,331 INFO L272 TraceCheckUtils]: 24: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:30:44,333 INFO L272 TraceCheckUtils]: 29: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:44,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:44,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:30:44,334 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:30:44,335 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 05:30:44,335 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:44,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:30:44,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:30:44,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:44,566 INFO L272 TraceCheckUtils]: 29: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:44,567 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:30:44,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,567 INFO L272 TraceCheckUtils]: 24: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,568 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:30:44,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,569 INFO L272 TraceCheckUtils]: 19: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:30:44,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:30:44,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {1294#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:30:44,570 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L272 TraceCheckUtils]: 11: Hoare triple {1294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-08 05:30:44,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:30:44,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:30:44,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-08 05:30:44,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:30:44,573 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 05:30:44,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:44,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1661270388] [2022-04-08 05:30:44,574 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:44,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1379212504] [2022-04-08 05:30:44,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1379212504] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:30:44,574 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:30:44,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 05:30:44,574 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:44,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1078027344] [2022-04-08 05:30:44,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1078027344] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:44,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:44,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:44,575 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1541722621] [2022-04-08 05:30:44,575 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:44,575 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:30:44,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:44,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:30:44,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:44,597 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:44,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:44,598 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:44,598 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:30:44,598 INFO L87 Difference]: Start difference. First operand 50 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:30:44,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:44,836 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-08 05:30:44,836 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:44,836 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:30:44,837 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:44,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:30:44,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:44,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:30:44,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:30:44,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:30:44,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:44,915 INFO L225 Difference]: With dead ends: 75 [2022-04-08 05:30:44,916 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 05:30:44,916 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:30:44,916 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:44,917 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:44,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 05:30:44,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 05:30:44,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:44,945 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:30:44,946 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:30:44,946 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:30:44,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:44,951 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:30:44,951 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:30:44,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:44,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:44,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 05:30:44,955 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 05:30:44,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:44,959 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:30:44,959 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:30:44,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:44,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:44,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:44,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:44,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:30:44,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-08 05:30:44,965 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-08 05:30:44,965 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:44,965 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-08 05:30:44,965 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:30:44,966 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-08 05:30:45,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:45,068 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:30:45,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 05:30:45,068 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:45,069 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:45,090 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:45,283 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:45,283 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:45,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:45,284 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-08 05:30:45,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:45,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1418238641] [2022-04-08 05:30:45,285 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:45,285 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-08 05:30:45,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:45,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1270152077] [2022-04-08 05:30:45,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:45,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:45,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:45,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [888226028] [2022-04-08 05:30:45,303 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:45,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:45,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:45,315 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:45,339 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 05:30:45,369 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:45,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:45,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 05:30:45,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:45,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:45,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-08 05:30:45,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {1936#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1936#true} is VALID [2022-04-08 05:30:45,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-08 05:30:45,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {1936#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {1936#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L272 TraceCheckUtils]: 11: Hoare triple {1936#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:30:45,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {1936#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 50);havoc #t~post6; {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L272 TraceCheckUtils]: 19: Hoare triple {1936#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:30:45,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L272 TraceCheckUtils]: 24: Hoare triple {1936#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-08 05:30:45,490 INFO L272 TraceCheckUtils]: 29: Hoare triple {1936#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:30:45,491 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:30:45,491 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:30:45,491 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:30:45,491 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-08 05:30:45,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:30:45,493 INFO L272 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:45,494 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:45,494 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-08 05:30:45,494 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-08 05:30:45,494 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:30:45,494 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:30:45,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:45,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1270152077] [2022-04-08 05:30:45,495 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:45,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [888226028] [2022-04-08 05:30:45,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [888226028] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:45,495 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:45,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:45,495 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:45,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1418238641] [2022-04-08 05:30:45,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1418238641] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:45,496 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:45,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:45,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1629119705] [2022-04-08 05:30:45,496 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:45,496 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-08 05:30:45,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:45,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:30:45,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:45,520 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:45,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:45,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:45,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:30:45,521 INFO L87 Difference]: Start difference. First operand 71 states and 100 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:30:45,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:45,695 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-08 05:30:45,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:45,695 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-08 05:30:45,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:45,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:30:45,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:30:45,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:30:45,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:30:45,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 05:30:45,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:45,739 INFO L225 Difference]: With dead ends: 87 [2022-04-08 05:30:45,739 INFO L226 Difference]: Without dead ends: 85 [2022-04-08 05:30:45,739 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:30:45,740 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:45,740 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:45,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-08 05:30:45,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-08 05:30:45,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:45,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:45,770 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:45,770 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:45,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:45,775 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:30:45,775 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:30:45,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:45,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:45,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-08 05:30:45,776 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-08 05:30:45,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:45,781 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:30:45,781 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:30:45,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:45,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:45,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:45,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:45,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:45,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-08 05:30:45,793 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-08 05:30:45,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:45,793 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-08 05:30:45,794 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:30:45,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-08 05:30:45,918 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:45,918 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-08 05:30:45,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:30:45,919 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:45,919 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:45,944 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:46,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:46,128 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:46,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:46,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-08 05:30:46,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:46,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [506586047] [2022-04-08 05:30:46,128 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:46,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-08 05:30:46,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:46,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643875210] [2022-04-08 05:30:46,129 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:46,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:46,141 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:46,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1381431112] [2022-04-08 05:30:46,142 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:46,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:46,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:46,149 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:46,150 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 05:30:46,193 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:46,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:46,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 05:30:46,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:46,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:46,388 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:30:46,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,393 INFO L272 TraceCheckUtils]: 11: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,394 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {2567#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:46,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {2567#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,397 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,398 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,399 INFO L272 TraceCheckUtils]: 24: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,400 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,401 INFO L272 TraceCheckUtils]: 29: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,403 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,403 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:46,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2674#(<= |main_#t~post6| 1)} is VALID [2022-04-08 05:30:46,404 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:30:46,405 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-08 05:30:46,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:30:46,405 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:30:46,405 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:30:46,405 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:30:46,405 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:46,595 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:30:46,595 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:30:46,595 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:30:46,595 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-08 05:30:46,595 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:30:46,596 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 50)} is VALID [2022-04-08 05:30:46,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,597 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #72#return; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:30:46,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:30:46,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:30:46,598 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:30:46,598 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #70#return; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:30:46,598 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:30:46,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:30:46,599 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:30:46,599 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #68#return; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:30:46,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:30:46,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:30:46,600 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:30:46,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,601 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-08 05:30:46,601 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 49)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,601 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #66#return; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:30:46,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:30:46,602 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:30:46,602 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:30:46,602 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #64#return; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:30:46,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:30:46,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:30:46,603 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:30:46,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 49)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 49)} call #t~ret7 := main(); {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 49)} {2559#true} #82#return; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 49)} assume true; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2764#(< ~counter~0 49)} is VALID [2022-04-08 05:30:46,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:30:46,605 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:30:46,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:46,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643875210] [2022-04-08 05:30:46,605 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:46,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381431112] [2022-04-08 05:30:46,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381431112] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:46,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:46,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 05:30:46,606 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:46,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [506586047] [2022-04-08 05:30:46,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [506586047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:46,606 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:46,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:46,606 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067818464] [2022-04-08 05:30:46,607 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:46,607 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-08 05:30:46,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:46,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:30:46,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:46,633 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:46,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:46,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:46,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:30:46,634 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:30:46,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:46,843 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-08 05:30:46,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:30:46,843 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-08 05:30:46,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:46,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:30:46,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:30:46,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:30:46,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:30:46,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-08 05:30:46,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:46,914 INFO L225 Difference]: With dead ends: 121 [2022-04-08 05:30:46,914 INFO L226 Difference]: Without dead ends: 102 [2022-04-08 05:30:46,915 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:30:46,915 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:46,915 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:46,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-08 05:30:46,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-08 05:30:46,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:46,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:46,980 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:46,981 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:46,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:46,985 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:30:46,985 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:30:46,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:46,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:46,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-08 05:30:46,986 INFO L87 Difference]: Start difference. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-08 05:30:46,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:46,991 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:30:46,991 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:30:46,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:46,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:46,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:46,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:46,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:30:46,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-08 05:30:46,996 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-08 05:30:46,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:46,997 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-08 05:30:46,997 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:30:46,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-08 05:30:47,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:47,132 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-08 05:30:47,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:30:47,133 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:47,133 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:47,161 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:47,333 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:47,334 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:47,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:47,334 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-08 05:30:47,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:47,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [330963368] [2022-04-08 05:30:47,335 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:47,335 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-08 05:30:47,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:47,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [414398783] [2022-04-08 05:30:47,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:47,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:47,349 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:47,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [200309274] [2022-04-08 05:30:47,349 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:47,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:47,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:47,350 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:47,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 05:30:47,416 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:47,416 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:47,417 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:30:47,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:47,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:47,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {3466#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {3466#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3466#true} is VALID [2022-04-08 05:30:47,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {3466#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L272 TraceCheckUtils]: 11: Hoare triple {3466#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,654 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-08 05:30:47,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {3466#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,656 INFO L272 TraceCheckUtils]: 19: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:30:47,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:30:47,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:30:47,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,657 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:30:47,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:30:47,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:30:47,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,664 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,664 INFO L272 TraceCheckUtils]: 29: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:30:47,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:30:47,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:30:47,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:30:47,665 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,667 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:47,669 INFO L272 TraceCheckUtils]: 38: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:47,669 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:47,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-08 05:30:47,670 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-08 05:30:47,670 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:30:47,670 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:30:47,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:47,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [414398783] [2022-04-08 05:30:47,671 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:47,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [200309274] [2022-04-08 05:30:47,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [200309274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:47,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:47,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:47,671 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:47,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [330963368] [2022-04-08 05:30:47,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [330963368] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:47,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:47,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:47,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [105337188] [2022-04-08 05:30:47,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:47,672 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-08 05:30:47,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:47,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:30:47,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:47,697 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:47,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:47,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:47,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:30:47,698 INFO L87 Difference]: Start difference. First operand 100 states and 127 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:30:47,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:47,944 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-08 05:30:47,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:47,944 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-08 05:30:47,945 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:47,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:30:47,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:30:47,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:30:47,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:30:47,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-08 05:30:47,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:48,000 INFO L225 Difference]: With dead ends: 106 [2022-04-08 05:30:48,000 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 05:30:48,001 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:30:48,001 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:48,001 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:30:48,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 05:30:48,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 05:30:48,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:48,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:30:48,070 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:30:48,072 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:30:48,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:48,077 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:30:48,077 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:30:48,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:48,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:48,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-08 05:30:48,079 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-08 05:30:48,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:48,083 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:30:48,083 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:30:48,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:48,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:48,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:48,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:48,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:30:48,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-08 05:30:48,088 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-08 05:30:48,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:48,088 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-08 05:30:48,089 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:30:48,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-08 05:30:48,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:48,230 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:30:48,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 05:30:48,231 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:48,231 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:30:48,260 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 05:30:48,432 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:48,432 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:48,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:48,432 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-08 05:30:48,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:48,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [477351940] [2022-04-08 05:30:48,433 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:48,433 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-08 05:30:48,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:48,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1012188022] [2022-04-08 05:30:48,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:48,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:48,446 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:48,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [133828850] [2022-04-08 05:30:48,446 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:48,446 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:48,446 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:48,447 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:30:48,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 05:30:48,497 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:48,497 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:48,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:30:48,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:48,510 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:48,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:30:48,658 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:48,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:48,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,659 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:30:48,659 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:48,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:48,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:48,663 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:48,663 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:48,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:48,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,665 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:48,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:48,665 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:48,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:48,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:48,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:48,666 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:48,667 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:48,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:48,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:30:48,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:30:48,668 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:30:48,668 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:09,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:31:09,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:31:09,661 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:09,662 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:09,663 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:09,663 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,663 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:31:09,663 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:31:09,663 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,663 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:09,664 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:09,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:31:09,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:31:09,665 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,666 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:09,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:09,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:09,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:31:09,667 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,667 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:31:09,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:31:09,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:31:09,669 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:31:09,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:09,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1012188022] [2022-04-08 05:31:09,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:09,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [133828850] [2022-04-08 05:31:09,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [133828850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:31:09,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:31:09,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:31:09,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:09,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [477351940] [2022-04-08 05:31:09,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [477351940] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:09,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:09,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:31:09,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1784446019] [2022-04-08 05:31:09,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:09,671 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-08 05:31:09,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:09,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:09,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:09,704 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:31:09,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:09,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:31:09,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:31:09,705 INFO L87 Difference]: Start difference. First operand 103 states and 128 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:10,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:10,456 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-08 05:31:10,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:31:10,456 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-08 05:31:10,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:10,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:10,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:31:10,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:10,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:31:10,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-08 05:31:10,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:10,527 INFO L225 Difference]: With dead ends: 118 [2022-04-08 05:31:10,527 INFO L226 Difference]: Without dead ends: 106 [2022-04-08 05:31:10,527 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:31:10,528 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:10,528 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 05:31:10,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-08 05:31:10,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-08 05:31:10,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:10,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:31:10,581 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:31:10,581 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:31:10,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:10,587 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:31:10,587 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:31:10,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:10,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:10,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:31:10,588 INFO L87 Difference]: Start difference. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:31:10,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:10,593 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:31:10,593 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:31:10,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:10,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:10,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:10,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:10,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:31:10,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-08 05:31:10,598 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-08 05:31:10,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:10,598 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-08 05:31:10,599 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:10,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-08 05:31:10,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:10,743 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-08 05:31:10,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 05:31:10,744 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:10,744 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:31:10,761 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 05:31:10,944 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:10,945 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:10,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:10,945 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-08 05:31:10,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:10,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1934416418] [2022-04-08 05:31:10,946 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:10,946 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-08 05:31:10,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:10,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739680674] [2022-04-08 05:31:10,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:10,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:10,961 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:10,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [877224261] [2022-04-08 05:31:10,962 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:31:10,962 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:10,962 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:10,963 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:31:10,971 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 05:31:11,030 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:31:11,030 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:11,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 05:31:11,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:11,047 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:11,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-08 05:31:11,416 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,417 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-08 05:31:11,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,419 INFO L272 TraceCheckUtils]: 19: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,419 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,420 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,420 INFO L272 TraceCheckUtils]: 24: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,420 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,421 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,421 INFO L272 TraceCheckUtils]: 29: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,421 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,422 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:11,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:31:11,424 INFO L290 TraceCheckUtils]: 36: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:31:11,424 INFO L290 TraceCheckUtils]: 37: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:31:11,424 INFO L272 TraceCheckUtils]: 38: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,425 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #68#return; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:31:11,426 INFO L272 TraceCheckUtils]: 43: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:11,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:11,426 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:31:11,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:31:11,427 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 05:31:11,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:11,634 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:31:11,635 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:31:11,635 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:11,636 INFO L272 TraceCheckUtils]: 43: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:11,636 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:11,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,637 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,637 INFO L272 TraceCheckUtils]: 38: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,637 INFO L290 TraceCheckUtils]: 37: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:11,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:11,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:11,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,989 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,989 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,989 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,989 INFO L272 TraceCheckUtils]: 29: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,990 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,990 INFO L272 TraceCheckUtils]: 24: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,991 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,992 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,992 INFO L272 TraceCheckUtils]: 19: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:31:11,994 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-08 05:31:11,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:31:11,996 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 05:31:11,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:11,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739680674] [2022-04-08 05:31:11,996 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:11,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [877224261] [2022-04-08 05:31:11,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [877224261] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:31:11,996 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:31:11,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 05:31:11,997 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:11,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1934416418] [2022-04-08 05:31:11,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1934416418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:11,997 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:11,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:31:11,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696754846] [2022-04-08 05:31:11,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:11,997 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-08 05:31:11,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:11,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:12,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:12,035 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:31:12,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:12,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:31:12,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:31:12,036 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:12,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:12,488 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-08 05:31:12,488 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:31:12,489 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-08 05:31:12,489 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:12,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:12,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:31:12,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:12,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:31:12,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 05:31:12,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:12,569 INFO L225 Difference]: With dead ends: 131 [2022-04-08 05:31:12,570 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 05:31:12,570 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:31:12,571 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 9 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:12,571 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 168 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:31:12,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 05:31:12,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-08 05:31:12,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:12,647 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:31:12,647 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:31:12,648 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:31:12,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:12,651 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:31:12,651 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:31:12,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:12,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:12,652 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-08 05:31:12,653 INFO L87 Difference]: Start difference. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-08 05:31:12,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:12,658 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:31:12,658 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:31:12,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:12,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:12,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:12,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:12,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:31:12,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-08 05:31:12,662 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-08 05:31:12,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:12,662 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-08 05:31:12,662 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:31:12,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-08 05:31:12,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:12,852 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-08 05:31:12,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 05:31:12,852 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:12,852 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:31:12,869 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 05:31:13,053 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:31:13,053 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:13,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:13,053 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-08 05:31:13,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:13,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [493389282] [2022-04-08 05:31:13,054 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:13,054 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-08 05:31:13,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:13,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [40091121] [2022-04-08 05:31:13,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:13,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:13,067 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:13,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651782945] [2022-04-08 05:31:13,068 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:31:13,068 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:13,068 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:13,069 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:31:13,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 05:31:13,119 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:31:13,119 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:13,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 05:31:13,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:13,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:13,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-08 05:31:13,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-08 05:31:13,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:31:13,631 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:31:13,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,632 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-08 05:31:13,632 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,633 INFO L290 TraceCheckUtils]: 18: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,633 INFO L272 TraceCheckUtils]: 19: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:31:13,634 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:31:13,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,635 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,635 INFO L272 TraceCheckUtils]: 24: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:31:13,635 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:31:13,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,636 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,636 INFO L272 TraceCheckUtils]: 29: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,637 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:13,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:13,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:13,638 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,639 INFO L290 TraceCheckUtils]: 35: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,639 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,640 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,640 INFO L272 TraceCheckUtils]: 38: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,640 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:31:13,640 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:31:13,640 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:31:13,641 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:31:13,641 INFO L272 TraceCheckUtils]: 43: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:31:13,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:13,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:13,641 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:13,642 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-08 05:31:13,643 INFO L272 TraceCheckUtils]: 48: Hoare triple {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:13,643 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:13,644 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-08 05:31:13,644 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-08 05:31:13,644 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 23 proven. 10 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 05:31:13,644 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:04,922 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-08 05:32:04,923 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-08 05:32:04,923 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:04,924 INFO L272 TraceCheckUtils]: 48: Hoare triple {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:04,925 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:32:04,926 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:04,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:04,927 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:04,927 INFO L272 TraceCheckUtils]: 43: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:04,928 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:04,928 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:04,928 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:32:04,928 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:32:04,928 INFO L272 TraceCheckUtils]: 38: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:04,929 INFO L290 TraceCheckUtils]: 37: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:04,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:05,245 INFO L290 TraceCheckUtils]: 35: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:05,246 INFO L290 TraceCheckUtils]: 34: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:05,247 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6215#true} #72#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:05,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:05,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:05,248 INFO L272 TraceCheckUtils]: 29: Hoare triple {6215#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6215#true} #70#return; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {6215#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6215#true} #68#return; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L272 TraceCheckUtils]: 19: Hoare triple {6215#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:05,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {6215#true} assume !!(#t~post6 < 50);havoc #t~post6; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 17: Hoare triple {6215#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:05,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-08 05:32:05,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-08 05:32:05,251 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 05:32:05,251 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:05,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [40091121] [2022-04-08 05:32:05,251 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:05,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651782945] [2022-04-08 05:32:05,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651782945] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:05,251 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:05,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-08 05:32:05,252 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:05,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [493389282] [2022-04-08 05:32:05,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [493389282] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:05,252 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:05,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:32:05,252 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [218203866] [2022-04-08 05:32:05,252 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:05,252 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-08 05:32:05,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:05,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:32:05,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:05,294 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:32:05,294 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:05,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:32:05,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:32:05,295 INFO L87 Difference]: Start difference. First operand 124 states and 158 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:32:06,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:06,281 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-08 05:32:06,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:32:06,281 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-08 05:32:06,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:06,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:32:06,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:32:06,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:32:06,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:32:06,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-08 05:32:06,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:06,420 INFO L225 Difference]: With dead ends: 160 [2022-04-08 05:32:06,420 INFO L226 Difference]: Without dead ends: 153 [2022-04-08 05:32:06,421 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:32:06,421 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 22 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:06,422 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 147 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:32:06,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-08 05:32:06,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-08 05:32:06,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:06,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:06,517 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:06,517 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:06,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:06,523 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:32:06,523 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:32:06,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:06,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:06,526 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-08 05:32:06,526 INFO L87 Difference]: Start difference. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-08 05:32:06,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:06,532 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:32:06,532 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:32:06,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:06,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:06,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:06,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:06,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:06,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-08 05:32:06,539 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-08 05:32:06,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:06,540 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-08 05:32:06,540 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:32:06,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-08 05:32:06,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:06,759 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:32:06,760 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:32:06,760 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:06,760 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:32:06,778 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-08 05:32:06,963 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:06,964 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:06,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:06,964 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-08 05:32:06,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:06,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1776622204] [2022-04-08 05:32:06,964 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:06,965 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-08 05:32:06,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:06,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251349253] [2022-04-08 05:32:06,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:06,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:06,984 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:06,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1839048268] [2022-04-08 05:32:06,984 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:32:06,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:06,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:06,985 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:32:06,988 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 05:32:07,038 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:32:07,038 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:07,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:32:07,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:07,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:07,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-08 05:32:07,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= ~counter~0 0)} {7474#true} #82#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {7482#(<= ~counter~0 0)} call #t~ret7 := main(); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {7482#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,300 INFO L272 TraceCheckUtils]: 6: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #64#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,304 INFO L272 TraceCheckUtils]: 11: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,306 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #66#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,306 INFO L290 TraceCheckUtils]: 16: Hoare triple {7482#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:07,307 INFO L290 TraceCheckUtils]: 17: Hoare triple {7482#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,308 INFO L272 TraceCheckUtils]: 19: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,308 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,308 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,309 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #68#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,310 INFO L272 TraceCheckUtils]: 24: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,311 INFO L290 TraceCheckUtils]: 26: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,312 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #70#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,312 INFO L272 TraceCheckUtils]: 29: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,313 INFO L290 TraceCheckUtils]: 32: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,314 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #72#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {7531#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,315 INFO L290 TraceCheckUtils]: 35: Hoare triple {7531#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:07,316 INFO L290 TraceCheckUtils]: 36: Hoare triple {7531#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {7589#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,317 INFO L272 TraceCheckUtils]: 38: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,317 INFO L290 TraceCheckUtils]: 39: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,317 INFO L290 TraceCheckUtils]: 40: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,318 INFO L290 TraceCheckUtils]: 41: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,318 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #68#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,319 INFO L272 TraceCheckUtils]: 43: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,320 INFO L290 TraceCheckUtils]: 45: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,320 INFO L290 TraceCheckUtils]: 46: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,321 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #70#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,321 INFO L272 TraceCheckUtils]: 48: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,322 INFO L290 TraceCheckUtils]: 50: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,322 INFO L290 TraceCheckUtils]: 51: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,323 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #72#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,323 INFO L290 TraceCheckUtils]: 53: Hoare triple {7589#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,323 INFO L290 TraceCheckUtils]: 54: Hoare triple {7589#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:07,324 INFO L290 TraceCheckUtils]: 55: Hoare triple {7589#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7647#(<= |main_#t~post6| 2)} is VALID [2022-04-08 05:32:07,324 INFO L290 TraceCheckUtils]: 56: Hoare triple {7647#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-08 05:32:07,324 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-08 05:32:07,324 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-08 05:32:07,324 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-08 05:32:07,325 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-08 05:32:07,325 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 47 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 05:32:07,325 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:07,592 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-08 05:32:07,592 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-08 05:32:07,592 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-08 05:32:07,592 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-08 05:32:07,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {7675#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-08 05:32:07,593 INFO L290 TraceCheckUtils]: 55: Hoare triple {7679#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7675#(< |main_#t~post6| 50)} is VALID [2022-04-08 05:32:07,599 INFO L290 TraceCheckUtils]: 54: Hoare triple {7679#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {7679#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,601 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #72#return; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,601 INFO L290 TraceCheckUtils]: 51: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,601 INFO L290 TraceCheckUtils]: 50: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,601 INFO L272 TraceCheckUtils]: 48: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,602 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #70#return; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,602 INFO L290 TraceCheckUtils]: 46: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,602 INFO L272 TraceCheckUtils]: 43: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,603 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #68#return; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,603 INFO L290 TraceCheckUtils]: 41: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,603 INFO L272 TraceCheckUtils]: 38: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {7679#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,605 INFO L290 TraceCheckUtils]: 36: Hoare triple {7737#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-08 05:32:07,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {7737#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,605 INFO L290 TraceCheckUtils]: 34: Hoare triple {7737#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,606 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #72#return; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,606 INFO L290 TraceCheckUtils]: 32: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,607 INFO L272 TraceCheckUtils]: 29: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,607 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #70#return; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,607 INFO L290 TraceCheckUtils]: 27: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L272 TraceCheckUtils]: 24: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #68#return; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,608 INFO L272 TraceCheckUtils]: 19: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {7737#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {7795#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-08 05:32:07,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {7795#(< ~counter~0 48)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,610 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #66#return; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,610 INFO L272 TraceCheckUtils]: 11: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #64#return; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:32:07,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:32:07,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:32:07,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:32:07,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {7795#(< ~counter~0 48)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {7795#(< ~counter~0 48)} call #t~ret7 := main(); {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7795#(< ~counter~0 48)} {7474#true} #82#return; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {7795#(< ~counter~0 48)} assume true; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7795#(< ~counter~0 48)} is VALID [2022-04-08 05:32:07,612 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-08 05:32:07,613 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 11 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:32:07,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:07,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251349253] [2022-04-08 05:32:07,613 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:07,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1839048268] [2022-04-08 05:32:07,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1839048268] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:07,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:07,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 05:32:07,613 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:07,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1776622204] [2022-04-08 05:32:07,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1776622204] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:07,613 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:07,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:32:07,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [356633961] [2022-04-08 05:32:07,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:07,614 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-08 05:32:07,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:07,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:32:07,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:07,654 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:32:07,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:07,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:32:07,654 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:32:07,654 INFO L87 Difference]: Start difference. First operand 153 states and 198 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:32:07,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:07,940 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-08 05:32:07,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:32:07,941 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-08 05:32:07,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:07,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:32:07,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:32:07,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:32:07,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:32:07,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 05:32:08,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:08,024 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:32:08,024 INFO L226 Difference]: Without dead ends: 173 [2022-04-08 05:32:08,025 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:32:08,025 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 15 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:08,025 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 121 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:32:08,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-08 05:32:08,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-08 05:32:08,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:08,145 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:08,145 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:08,146 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:08,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:08,150 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:32:08,150 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:32:08,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:08,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:08,151 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-08 05:32:08,151 INFO L87 Difference]: Start difference. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-08 05:32:08,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:08,156 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:32:08,156 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:32:08,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:08,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:08,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:08,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:08,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:32:08,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-08 05:32:08,162 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-08 05:32:08,162 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:08,162 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-08 05:32:08,162 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:32:08,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-08 05:32:08,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:08,432 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:32:08,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:32:08,433 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:08,433 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:32:08,455 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 05:32:08,643 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 05:32:08,644 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:08,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:08,644 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-08 05:32:08,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:08,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896271349] [2022-04-08 05:32:08,644 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:08,644 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-08 05:32:08,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:08,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1998310648] [2022-04-08 05:32:08,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:08,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:08,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:08,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2070338651] [2022-04-08 05:32:08,656 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:32:08,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:08,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:08,657 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:32:08,661 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 05:32:08,716 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:32:08,716 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:08,718 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 05:32:08,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:08,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:09,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,145 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-08 05:32:09,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,147 INFO L272 TraceCheckUtils]: 19: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,147 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,147 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,148 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,148 INFO L272 TraceCheckUtils]: 24: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,148 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,150 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,150 INFO L272 TraceCheckUtils]: 29: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,151 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,152 INFO L290 TraceCheckUtils]: 35: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,153 INFO L272 TraceCheckUtils]: 38: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,153 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,154 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,154 INFO L272 TraceCheckUtils]: 43: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,154 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,154 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,155 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,155 INFO L272 TraceCheckUtils]: 48: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,155 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,155 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,156 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,157 INFO L290 TraceCheckUtils]: 53: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:32:09,157 INFO L290 TraceCheckUtils]: 54: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,158 INFO L290 TraceCheckUtils]: 55: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,158 INFO L290 TraceCheckUtils]: 56: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:09,159 INFO L272 TraceCheckUtils]: 57: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:09,160 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:09,160 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-08 05:32:09,160 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-08 05:32:09,160 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:32:09,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:09,397 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-08 05:32:09,397 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-08 05:32:09,398 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:09,398 INFO L272 TraceCheckUtils]: 57: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:09,399 INFO L290 TraceCheckUtils]: 56: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,399 INFO L290 TraceCheckUtils]: 55: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,401 INFO L290 TraceCheckUtils]: 54: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,402 INFO L290 TraceCheckUtils]: 53: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,403 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,403 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,403 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,403 INFO L272 TraceCheckUtils]: 48: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,405 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,406 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,406 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,406 INFO L272 TraceCheckUtils]: 43: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,407 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,407 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,407 INFO L272 TraceCheckUtils]: 38: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,408 INFO L290 TraceCheckUtils]: 36: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,410 INFO L290 TraceCheckUtils]: 35: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,410 INFO L290 TraceCheckUtils]: 34: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,411 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,411 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,411 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,411 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,411 INFO L272 TraceCheckUtils]: 29: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,414 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,414 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L272 TraceCheckUtils]: 24: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,415 INFO L272 TraceCheckUtils]: 19: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,416 INFO L290 TraceCheckUtils]: 17: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,416 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:32:09,416 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-08 05:32:09,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-08 05:32:09,418 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-08 05:32:09,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:09,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1998310648] [2022-04-08 05:32:09,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:09,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2070338651] [2022-04-08 05:32:09,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2070338651] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:32:09,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:32:09,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 05:32:09,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:09,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1896271349] [2022-04-08 05:32:09,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1896271349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:09,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:09,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:32:09,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [674819909] [2022-04-08 05:32:09,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:09,419 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-08 05:32:09,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:09,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:32:09,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:09,445 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:32:09,445 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:09,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:32:09,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:32:09,445 INFO L87 Difference]: Start difference. First operand 173 states and 215 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:32:09,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:09,702 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-08 05:32:09,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:32:09,703 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-08 05:32:09,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:09,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:32:09,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:32:09,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:32:09,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:32:09,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-08 05:32:09,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:09,759 INFO L225 Difference]: With dead ends: 179 [2022-04-08 05:32:09,759 INFO L226 Difference]: Without dead ends: 174 [2022-04-08 05:32:09,760 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:32:09,761 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:09,762 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:32:09,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-08 05:32:09,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-08 05:32:09,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:09,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:32:09,895 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:32:09,895 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:32:09,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:09,899 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:32:09,899 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:32:09,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:09,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:09,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-08 05:32:09,901 INFO L87 Difference]: Start difference. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-08 05:32:09,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:09,906 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:32:09,906 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:32:09,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:09,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:09,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:09,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:09,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:32:09,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-08 05:32:09,911 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-08 05:32:09,911 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:09,911 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-08 05:32:09,912 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 05:32:09,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-08 05:32:10,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:10,195 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-08 05:32:10,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:32:10,196 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:10,196 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:32:10,213 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 05:32:10,396 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 05:32:10,397 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:10,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:10,397 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-08 05:32:10,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:10,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [738720159] [2022-04-08 05:32:10,398 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:10,398 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-08 05:32:10,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:10,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493090331] [2022-04-08 05:32:10,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:10,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:10,408 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:10,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2145953259] [2022-04-08 05:32:10,408 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:32:10,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:10,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:10,410 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:32:10,425 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 05:32:10,475 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:32:10,475 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:10,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 05:32:10,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:10,490 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:10,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-08 05:32:10,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-08 05:32:10,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:10,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:10,997 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-08 05:32:10,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:10,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:10,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:10,998 INFO L272 TraceCheckUtils]: 19: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:10,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:10,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:10,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:10,999 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:10,999 INFO L272 TraceCheckUtils]: 24: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:10,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,000 INFO L272 TraceCheckUtils]: 29: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:11,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:11,001 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,001 INFO L290 TraceCheckUtils]: 34: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,002 INFO L290 TraceCheckUtils]: 35: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,003 INFO L290 TraceCheckUtils]: 37: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,003 INFO L272 TraceCheckUtils]: 38: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:11,003 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:11,003 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:11,003 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:11,008 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,008 INFO L272 TraceCheckUtils]: 43: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:11,008 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:11,009 INFO L290 TraceCheckUtils]: 45: Hoare triple {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:11,009 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:11,010 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,010 INFO L272 TraceCheckUtils]: 48: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:11,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:11,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:11,010 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:11,011 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,011 INFO L290 TraceCheckUtils]: 53: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:32:11,012 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,012 INFO L290 TraceCheckUtils]: 55: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,013 INFO L290 TraceCheckUtils]: 56: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,013 INFO L272 TraceCheckUtils]: 57: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:11,013 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:11,013 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:11,013 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:11,013 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #68#return; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-08 05:32:11,014 INFO L272 TraceCheckUtils]: 62: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:11,014 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:11,015 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-08 05:32:11,015 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-08 05:32:11,015 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 25 proven. 22 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-08 05:32:11,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:40,883 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-08 05:32:40,884 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-08 05:32:40,884 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:40,885 INFO L272 TraceCheckUtils]: 62: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:40,886 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:40,886 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:40,886 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:40,886 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:40,886 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:40,887 INFO L290 TraceCheckUtils]: 56: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:40,887 INFO L290 TraceCheckUtils]: 55: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:41,871 INFO L290 TraceCheckUtils]: 54: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:41,872 INFO L290 TraceCheckUtils]: 53: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:32:41,872 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:32:41,872 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:41,872 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:41,872 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:41,873 INFO L272 TraceCheckUtils]: 48: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:41,873 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:32:41,874 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:41,874 INFO L290 TraceCheckUtils]: 45: Hoare triple {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:41,874 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:41,874 INFO L272 TraceCheckUtils]: 43: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:41,875 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:41,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:41,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:41,875 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:41,875 INFO L272 TraceCheckUtils]: 38: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:41,876 INFO L290 TraceCheckUtils]: 37: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:41,876 INFO L290 TraceCheckUtils]: 36: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:43,878 WARN L290 TraceCheckUtils]: 35: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is UNKNOWN [2022-04-08 05:32:43,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,880 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:43,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:43,880 INFO L272 TraceCheckUtils]: 29: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:43,881 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #70#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:43,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:43,881 INFO L272 TraceCheckUtils]: 24: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:43,882 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #68#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:43,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:43,883 INFO L272 TraceCheckUtils]: 19: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:43,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(#t~post6 < 50);havoc #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:32:43,885 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-08 05:32:43,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-08 05:32:43,887 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 29 proven. 18 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-08 05:32:43,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:43,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493090331] [2022-04-08 05:32:43,887 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:43,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2145953259] [2022-04-08 05:32:43,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2145953259] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:43,887 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:43,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:32:43,888 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:43,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [738720159] [2022-04-08 05:32:43,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [738720159] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:43,888 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:43,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:32:43,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1914084364] [2022-04-08 05:32:43,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:43,889 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:43,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:43,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:43,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:43,943 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:32:43,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:43,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:32:43,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:32:43,943 INFO L87 Difference]: Start difference. First operand 172 states and 208 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:45,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:45,091 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-08 05:32:45,091 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:32:45,092 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:45,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:45,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:45,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:45,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:45,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:45,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:32:45,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:45,203 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:32:45,204 INFO L226 Difference]: Without dead ends: 197 [2022-04-08 05:32:45,204 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 118 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:32:45,205 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 15 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:45,205 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 190 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 05:32:45,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-08 05:32:45,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-08 05:32:45,318 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:45,319 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:45,319 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:45,320 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:45,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:45,325 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:32:45,325 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:32:45,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:45,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:45,326 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-08 05:32:45,327 INFO L87 Difference]: Start difference. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-08 05:32:45,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:45,332 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:32:45,332 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:32:45,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:45,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:45,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:45,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:45,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:45,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-08 05:32:45,338 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-08 05:32:45,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:45,339 INFO L478 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-08 05:32:45,339 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:45,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-08 05:32:45,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:45,682 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-08 05:32:45,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:32:45,683 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:45,683 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:32:45,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 05:32:45,884 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 05:32:45,884 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:45,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:45,885 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-08 05:32:45,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:45,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [755884167] [2022-04-08 05:32:45,885 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:45,885 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-08 05:32:45,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:45,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767709779] [2022-04-08 05:32:45,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:45,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:45,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:45,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [375760559] [2022-04-08 05:32:45,895 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:32:45,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:45,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:45,896 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:32:45,899 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 05:32:45,942 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:32:45,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:45,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:32:45,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:45,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:46,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-08 05:32:46,543 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,543 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,543 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-08 05:32:46,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,547 INFO L290 TraceCheckUtils]: 18: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,548 INFO L272 TraceCheckUtils]: 19: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,548 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,548 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,548 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,548 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,548 INFO L272 TraceCheckUtils]: 24: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,549 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,549 INFO L272 TraceCheckUtils]: 29: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:46,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:46,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:46,551 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,553 INFO L290 TraceCheckUtils]: 37: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,553 INFO L272 TraceCheckUtils]: 38: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,553 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,554 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,554 INFO L272 TraceCheckUtils]: 43: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,554 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,555 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,555 INFO L272 TraceCheckUtils]: 48: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:46,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:46,556 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:46,557 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:46,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 05:32:46,558 INFO L290 TraceCheckUtils]: 55: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 05:32:46,559 INFO L290 TraceCheckUtils]: 56: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 05:32:46,559 INFO L272 TraceCheckUtils]: 57: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:32:46,559 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:32:46,559 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:32:46,559 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:32:46,560 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #68#return; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 05:32:46,560 INFO L272 TraceCheckUtils]: 62: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:46,561 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:46,561 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-08 05:32:46,561 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-08 05:32:46,562 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-08 05:32:46,562 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:18,903 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-08 05:33:18,904 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-08 05:33:18,904 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:18,905 INFO L272 TraceCheckUtils]: 62: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:18,905 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:18,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:18,905 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:18,905 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:18,905 INFO L272 TraceCheckUtils]: 57: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:18,906 INFO L290 TraceCheckUtils]: 56: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:18,906 INFO L290 TraceCheckUtils]: 55: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:19,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:19,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:33:19,204 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:33:19,205 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:19,205 INFO L290 TraceCheckUtils]: 50: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:19,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:19,205 INFO L272 TraceCheckUtils]: 48: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:19,206 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:33:19,206 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:19,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:19,206 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:19,206 INFO L272 TraceCheckUtils]: 43: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:19,207 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:33:19,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:19,207 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:19,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:19,207 INFO L272 TraceCheckUtils]: 38: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:19,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:33:19,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:33:21,210 WARN L290 TraceCheckUtils]: 35: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-08 05:33:21,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-08 05:33:21,212 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11935#true} #72#return; {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-08 05:33:21,213 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:21,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:21,213 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:21,213 INFO L272 TraceCheckUtils]: 29: Hoare triple {11935#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:21,213 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11935#true} #70#return; {11935#true} is VALID [2022-04-08 05:33:21,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L272 TraceCheckUtils]: 24: Hoare triple {11935#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11935#true} #68#return; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L272 TraceCheckUtils]: 19: Hoare triple {11935#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {11935#true} assume !!(#t~post6 < 50);havoc #t~post6; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {11935#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-08 05:33:21,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-08 05:33:21,215 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 43 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-08 05:33:21,216 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:21,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1767709779] [2022-04-08 05:33:21,216 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:21,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [375760559] [2022-04-08 05:33:21,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [375760559] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:21,216 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:21,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:33:21,216 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:21,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [755884167] [2022-04-08 05:33:21,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [755884167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:21,217 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:21,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:33:21,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [477267034] [2022-04-08 05:33:21,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:21,217 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:33:21,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:21,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:21,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:21,281 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:33:21,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:21,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:33:21,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:33:21,282 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:22,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:22,476 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:33:22,476 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:33:22,477 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:33:22,477 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:22,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:22,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:33:22,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:22,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:33:22,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:33:22,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:22,587 INFO L225 Difference]: With dead ends: 208 [2022-04-08 05:33:22,587 INFO L226 Difference]: Without dead ends: 206 [2022-04-08 05:33:22,587 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:33:22,588 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:22,588 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 198 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:33:22,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-08 05:33:22,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-08 05:33:22,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:22,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:22,722 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:22,722 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:22,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:22,728 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:33:22,728 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:33:22,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:22,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:22,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-08 05:33:22,729 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-08 05:33:22,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:22,734 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:33:22,735 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:33:22,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:22,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:22,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:22,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:22,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:22,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-08 05:33:22,741 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-08 05:33:22,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:22,741 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-08 05:33:22,741 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:22,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-08 05:33:23,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:23,059 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-08 05:33:23,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:33:23,060 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:23,060 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:23,086 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-08 05:33:23,275 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 05:33:23,276 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:23,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:23,276 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-08 05:33:23,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:23,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [156944442] [2022-04-08 05:33:23,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:23,276 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-08 05:33:23,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:23,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1420248447] [2022-04-08 05:33:23,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:23,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:23,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:23,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [263024740] [2022-04-08 05:33:23,286 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:33:23,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:23,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:23,288 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:33:23,295 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 05:33:23,344 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:33:23,345 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:23,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:33:23,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:23,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:23,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,773 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-08 05:33:23,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,774 INFO L272 TraceCheckUtils]: 19: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,775 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,775 INFO L272 TraceCheckUtils]: 24: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,775 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,776 INFO L272 TraceCheckUtils]: 29: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,776 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,777 INFO L290 TraceCheckUtils]: 34: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,778 INFO L272 TraceCheckUtils]: 38: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,779 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,779 INFO L272 TraceCheckUtils]: 43: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:23,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:23,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:23,780 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,780 INFO L272 TraceCheckUtils]: 48: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,780 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,780 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,781 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,781 INFO L290 TraceCheckUtils]: 53: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:23,784 INFO L290 TraceCheckUtils]: 54: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:23,785 INFO L290 TraceCheckUtils]: 55: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:23,785 INFO L290 TraceCheckUtils]: 56: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 50);havoc #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:23,785 INFO L272 TraceCheckUtils]: 57: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,785 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,785 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,785 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,786 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:23,786 INFO L272 TraceCheckUtils]: 62: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:23,786 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:23,786 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:23,786 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:23,787 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:23,787 INFO L272 TraceCheckUtils]: 67: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:23,788 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:23,788 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-08 05:33:23,788 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-08 05:33:23,788 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 27 proven. 27 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 05:33:23,789 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:51,952 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-08 05:33:51,952 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-08 05:33:51,953 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:51,953 INFO L272 TraceCheckUtils]: 67: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:51,954 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:51,954 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:51,954 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:51,954 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:51,954 INFO L272 TraceCheckUtils]: 62: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:51,955 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:51,955 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:51,955 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:51,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:51,955 INFO L272 TraceCheckUtils]: 57: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:51,956 INFO L290 TraceCheckUtils]: 56: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:51,956 INFO L290 TraceCheckUtils]: 55: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,139 INFO L290 TraceCheckUtils]: 54: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:52,141 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #72#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:52,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,141 INFO L272 TraceCheckUtils]: 48: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,142 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:52,142 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:52,143 INFO L290 TraceCheckUtils]: 45: Hoare triple {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:52,143 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:52,143 INFO L272 TraceCheckUtils]: 43: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,144 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:52,144 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,144 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,145 INFO L272 TraceCheckUtils]: 38: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,145 INFO L290 TraceCheckUtils]: 37: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:52,146 INFO L290 TraceCheckUtils]: 36: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:52,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:52,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,148 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,149 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,149 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,149 INFO L272 TraceCheckUtils]: 29: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,149 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L272 TraceCheckUtils]: 24: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,150 INFO L272 TraceCheckUtils]: 19: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:52,152 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-08 05:33:52,152 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-08 05:33:52,153 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 31 proven. 18 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-08 05:33:52,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:52,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1420248447] [2022-04-08 05:33:52,153 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:52,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [263024740] [2022-04-08 05:33:52,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [263024740] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:52,155 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:52,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 05:33:52,155 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:52,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [156944442] [2022-04-08 05:33:52,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [156944442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:52,156 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:52,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:33:52,156 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043180640] [2022-04-08 05:33:52,156 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:52,156 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-08 05:33:52,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:52,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 05:33:52,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:52,217 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:33:52,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:52,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:33:52,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:33:52,218 INFO L87 Difference]: Start difference. First operand 190 states and 232 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 05:33:53,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:53,361 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-08 05:33:53,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:33:53,362 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-08 05:33:53,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:53,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 05:33:53,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:33:53,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 05:33:53,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:33:53,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-08 05:33:53,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:53,467 INFO L225 Difference]: With dead ends: 214 [2022-04-08 05:33:53,467 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 05:33:53,468 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:33:53,468 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:53,468 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 196 Invalid, 351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:33:53,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 05:33:53,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-08 05:33:53,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:53,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:53,582 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:53,583 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:53,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:53,588 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:33:53,588 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:33:53,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:53,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:53,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-08 05:33:53,590 INFO L87 Difference]: Start difference. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-08 05:33:53,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:53,595 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:33:53,595 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:33:53,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:53,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:53,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:53,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:53,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:53,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-08 05:33:53,601 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-08 05:33:53,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:53,602 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-08 05:33:53,602 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 05:33:53,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-08 05:33:53,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:53,968 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-08 05:33:53,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:33:53,968 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:53,968 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:53,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 05:33:54,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:54,192 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:54,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:54,192 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-08 05:33:54,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:54,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [548812443] [2022-04-08 05:33:54,193 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:54,193 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-08 05:33:54,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:54,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614855026] [2022-04-08 05:33:54,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:54,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:54,205 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:54,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1181886805] [2022-04-08 05:33:54,205 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:33:54,205 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:54,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:54,206 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:33:54,207 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 05:33:54,253 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:33:54,253 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:54,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:33:54,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:54,267 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:54,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,754 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-08 05:33:54,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,755 INFO L290 TraceCheckUtils]: 18: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,755 INFO L272 TraceCheckUtils]: 19: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,755 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,756 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,756 INFO L272 TraceCheckUtils]: 24: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,757 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,757 INFO L272 TraceCheckUtils]: 29: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,757 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,759 INFO L272 TraceCheckUtils]: 38: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,759 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,760 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,760 INFO L272 TraceCheckUtils]: 43: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,760 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,760 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,760 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,764 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,764 INFO L272 TraceCheckUtils]: 48: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:54,764 INFO L290 TraceCheckUtils]: 50: Hoare triple {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:54,765 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:54,765 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,766 INFO L290 TraceCheckUtils]: 53: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:54,767 INFO L290 TraceCheckUtils]: 54: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:54,767 INFO L290 TraceCheckUtils]: 55: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:54,767 INFO L290 TraceCheckUtils]: 56: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:54,767 INFO L272 TraceCheckUtils]: 57: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:54,768 INFO L272 TraceCheckUtils]: 62: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:33:54,768 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:33:54,769 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:54,770 INFO L272 TraceCheckUtils]: 67: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:54,770 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:54,770 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-08 05:33:54,770 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-08 05:33:54,771 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 30 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 05:33:54,771 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:34:07,486 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-08 05:34:07,487 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-08 05:34:07,487 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:07,488 INFO L272 TraceCheckUtils]: 67: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:34:07,489 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:34:07,489 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,489 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,489 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,489 INFO L272 TraceCheckUtils]: 62: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,490 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:34:07,490 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,490 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,490 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,490 INFO L272 TraceCheckUtils]: 57: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,490 INFO L290 TraceCheckUtils]: 56: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:34:07,491 INFO L290 TraceCheckUtils]: 55: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:34:07,745 INFO L290 TraceCheckUtils]: 54: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:34:07,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:34:07,747 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:34:07,747 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:07,747 INFO L290 TraceCheckUtils]: 50: Hoare triple {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:07,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:34:07,748 INFO L272 TraceCheckUtils]: 48: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,748 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:34:07,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,748 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,748 INFO L272 TraceCheckUtils]: 43: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,749 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:34:07,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,749 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,749 INFO L272 TraceCheckUtils]: 38: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:34:07,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:34:07,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:34:07,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,862 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #72#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,862 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,862 INFO L272 TraceCheckUtils]: 29: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,862 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #70#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,863 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,863 INFO L272 TraceCheckUtils]: 24: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,863 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #68#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,864 INFO L272 TraceCheckUtils]: 19: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(#t~post6 < 50);havoc #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,865 INFO L290 TraceCheckUtils]: 17: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:34:07,865 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-08 05:34:07,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-08 05:34:07,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-08 05:34:07,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:34:07,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-08 05:34:07,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-08 05:34:07,867 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 35 proven. 19 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 05:34:07,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:07,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614855026] [2022-04-08 05:34:07,868 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:07,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1181886805] [2022-04-08 05:34:07,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1181886805] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:07,868 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:07,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:34:07,868 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:07,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [548812443] [2022-04-08 05:34:07,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [548812443] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:07,868 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:07,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:34:07,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1267785114] [2022-04-08 05:34:07,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:07,869 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-08 05:34:07,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:07,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:34:07,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:07,920 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:34:07,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:07,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:34:07,921 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:34:07,921 INFO L87 Difference]: Start difference. First operand 192 states and 236 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:34:09,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:09,040 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-08 05:34:09,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:34:09,040 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-08 05:34:09,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:09,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:34:09,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:34:09,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:34:09,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:34:09,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:34:09,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:09,173 INFO L225 Difference]: With dead ends: 219 [2022-04-08 05:34:09,173 INFO L226 Difference]: Without dead ends: 210 [2022-04-08 05:34:09,174 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:34:09,174 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 15 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:09,174 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 185 Invalid, 330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 05:34:09,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-08 05:34:09,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-08 05:34:09,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:09,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:34:09,285 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:34:09,285 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:34:09,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:09,291 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:34:09,291 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:34:09,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:09,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:09,292 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-08 05:34:09,293 INFO L87 Difference]: Start difference. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-08 05:34:09,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:09,299 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:34:09,299 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:34:09,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:09,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:09,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:09,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:09,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:34:09,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-08 05:34:09,306 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-08 05:34:09,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:09,307 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-08 05:34:09,307 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:34:09,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-08 05:34:09,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:09,746 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-08 05:34:09,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 05:34:09,747 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:09,747 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:34:09,773 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 05:34:09,963 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 05:34:09,964 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:09,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:09,964 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-08 05:34:09,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:09,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [418887938] [2022-04-08 05:34:09,964 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:09,965 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-08 05:34:09,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:09,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287514325] [2022-04-08 05:34:09,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:09,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:09,981 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:09,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1439272476] [2022-04-08 05:34:09,981 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:34:09,982 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:09,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:09,983 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:34:10,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 05:34:10,050 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 05:34:10,051 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:10,052 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:34:10,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:10,074 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:34:10,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-08 05:34:10,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,408 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16952#(<= ~counter~0 0)} {16944#true} #82#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {16952#(<= ~counter~0 0)} call #t~ret7 := main(); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {16952#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,409 INFO L272 TraceCheckUtils]: 6: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,410 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #64#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,410 INFO L272 TraceCheckUtils]: 11: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,411 INFO L290 TraceCheckUtils]: 12: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,411 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,412 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #66#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,412 INFO L290 TraceCheckUtils]: 16: Hoare triple {16952#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:34:10,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {16952#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,413 INFO L290 TraceCheckUtils]: 18: Hoare triple {17001#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,413 INFO L272 TraceCheckUtils]: 19: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,414 INFO L290 TraceCheckUtils]: 22: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,415 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #68#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,415 INFO L272 TraceCheckUtils]: 24: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,416 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #70#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,417 INFO L272 TraceCheckUtils]: 29: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,418 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #72#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {17001#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,419 INFO L290 TraceCheckUtils]: 35: Hoare triple {17001#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:34:10,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {17001#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {17059#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,420 INFO L272 TraceCheckUtils]: 38: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,422 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #68#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,422 INFO L272 TraceCheckUtils]: 43: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,423 INFO L290 TraceCheckUtils]: 46: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,423 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #70#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,424 INFO L272 TraceCheckUtils]: 48: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,424 INFO L290 TraceCheckUtils]: 50: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,425 INFO L290 TraceCheckUtils]: 51: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,425 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #72#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,426 INFO L290 TraceCheckUtils]: 53: Hoare triple {17059#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,426 INFO L290 TraceCheckUtils]: 54: Hoare triple {17059#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:34:10,426 INFO L290 TraceCheckUtils]: 55: Hoare triple {17059#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,427 INFO L290 TraceCheckUtils]: 56: Hoare triple {17117#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,427 INFO L272 TraceCheckUtils]: 57: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,428 INFO L290 TraceCheckUtils]: 58: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,428 INFO L290 TraceCheckUtils]: 59: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,428 INFO L290 TraceCheckUtils]: 60: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,429 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #68#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,429 INFO L272 TraceCheckUtils]: 62: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,436 INFO L290 TraceCheckUtils]: 64: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,436 INFO L290 TraceCheckUtils]: 65: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,437 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #70#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,438 INFO L272 TraceCheckUtils]: 67: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,438 INFO L290 TraceCheckUtils]: 68: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,438 INFO L290 TraceCheckUtils]: 69: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,439 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #72#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,439 INFO L290 TraceCheckUtils]: 72: Hoare triple {17117#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,439 INFO L290 TraceCheckUtils]: 73: Hoare triple {17117#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:34:10,440 INFO L290 TraceCheckUtils]: 74: Hoare triple {17117#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17175#(<= |main_#t~post6| 3)} is VALID [2022-04-08 05:34:10,440 INFO L290 TraceCheckUtils]: 75: Hoare triple {17175#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-08 05:34:10,440 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-08 05:34:10,440 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-08 05:34:10,440 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-08 05:34:10,440 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-08 05:34:10,441 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 135 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 05:34:10,441 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:34:10,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-08 05:34:10,788 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-08 05:34:10,788 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-08 05:34:10,788 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-08 05:34:10,789 INFO L290 TraceCheckUtils]: 75: Hoare triple {17203#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-08 05:34:10,789 INFO L290 TraceCheckUtils]: 74: Hoare triple {17207#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17203#(< |main_#t~post6| 50)} is VALID [2022-04-08 05:34:10,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {17207#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,790 INFO L290 TraceCheckUtils]: 72: Hoare triple {17207#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,791 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #72#return; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,791 INFO L290 TraceCheckUtils]: 70: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,791 INFO L290 TraceCheckUtils]: 69: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,791 INFO L290 TraceCheckUtils]: 68: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,791 INFO L272 TraceCheckUtils]: 67: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,792 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #70#return; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,792 INFO L290 TraceCheckUtils]: 65: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,792 INFO L290 TraceCheckUtils]: 64: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,792 INFO L290 TraceCheckUtils]: 63: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,792 INFO L272 TraceCheckUtils]: 62: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,793 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #68#return; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,793 INFO L290 TraceCheckUtils]: 60: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,793 INFO L290 TraceCheckUtils]: 59: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,793 INFO L290 TraceCheckUtils]: 58: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,793 INFO L272 TraceCheckUtils]: 57: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,793 INFO L290 TraceCheckUtils]: 56: Hoare triple {17207#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,794 INFO L290 TraceCheckUtils]: 55: Hoare triple {17265#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-08 05:34:10,794 INFO L290 TraceCheckUtils]: 54: Hoare triple {17265#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,795 INFO L290 TraceCheckUtils]: 53: Hoare triple {17265#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,796 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #72#return; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,796 INFO L290 TraceCheckUtils]: 51: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,796 INFO L290 TraceCheckUtils]: 50: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,796 INFO L290 TraceCheckUtils]: 49: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,796 INFO L272 TraceCheckUtils]: 48: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,797 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #70#return; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,797 INFO L290 TraceCheckUtils]: 46: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,797 INFO L290 TraceCheckUtils]: 45: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,797 INFO L290 TraceCheckUtils]: 44: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,797 INFO L272 TraceCheckUtils]: 43: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,797 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #68#return; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,798 INFO L290 TraceCheckUtils]: 41: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,798 INFO L290 TraceCheckUtils]: 40: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,798 INFO L290 TraceCheckUtils]: 39: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,798 INFO L272 TraceCheckUtils]: 38: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,798 INFO L290 TraceCheckUtils]: 37: Hoare triple {17265#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,799 INFO L290 TraceCheckUtils]: 36: Hoare triple {17323#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-08 05:34:10,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {17323#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,800 INFO L290 TraceCheckUtils]: 34: Hoare triple {17323#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,800 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #72#return; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,801 INFO L290 TraceCheckUtils]: 32: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,801 INFO L272 TraceCheckUtils]: 29: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,802 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #70#return; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,802 INFO L272 TraceCheckUtils]: 24: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,803 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #68#return; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,803 INFO L272 TraceCheckUtils]: 19: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {17323#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {17381#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-08 05:34:10,804 INFO L290 TraceCheckUtils]: 16: Hoare triple {17381#(< ~counter~0 47)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,805 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #66#return; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,805 INFO L272 TraceCheckUtils]: 11: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,806 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #64#return; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,806 INFO L290 TraceCheckUtils]: 9: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:34:10,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:34:10,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:34:10,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:34:10,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {17381#(< ~counter~0 47)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {17381#(< ~counter~0 47)} call #t~ret7 := main(); {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17381#(< ~counter~0 47)} {16944#true} #82#return; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {17381#(< ~counter~0 47)} assume true; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17381#(< ~counter~0 47)} is VALID [2022-04-08 05:34:10,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-08 05:34:10,809 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 27 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-08 05:34:10,809 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:10,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287514325] [2022-04-08 05:34:10,809 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:10,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1439272476] [2022-04-08 05:34:10,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1439272476] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:10,810 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:10,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 05:34:10,810 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:10,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [418887938] [2022-04-08 05:34:10,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [418887938] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:10,810 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:10,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 05:34:10,810 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [134079154] [2022-04-08 05:34:10,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:10,811 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 05:34:10,811 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:10,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:34:10,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:10,868 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 05:34:10,868 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:10,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 05:34:10,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:34:10,868 INFO L87 Difference]: Start difference. First operand 208 states and 260 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:34:11,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:11,256 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-08 05:34:11,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:34:11,257 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 05:34:11,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:11,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:34:11,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:34:11,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:34:11,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:34:11,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 05:34:11,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:11,348 INFO L225 Difference]: With dead ends: 277 [2022-04-08 05:34:11,348 INFO L226 Difference]: Without dead ends: 250 [2022-04-08 05:34:11,348 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:34:11,348 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:11,349 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:34:11,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-08 05:34:11,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-08 05:34:11,512 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:11,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:34:11,513 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:34:11,514 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:34:11,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:11,519 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:34:11,520 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:34:11,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:11,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:11,521 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-08 05:34:11,521 INFO L87 Difference]: Start difference. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-08 05:34:11,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:11,527 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:34:11,527 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:34:11,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:11,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:11,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:11,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:11,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:34:11,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-08 05:34:11,534 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-08 05:34:11,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:11,534 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-08 05:34:11,535 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:34:11,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-08 05:34:12,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:12,029 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-08 05:34:12,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:34:12,030 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:12,030 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:34:12,058 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 05:34:12,230 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 05:34:12,231 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:12,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:12,231 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-08 05:34:12,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:12,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [67033865] [2022-04-08 05:34:12,232 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:12,232 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-08 05:34:12,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:12,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1013422990] [2022-04-08 05:34:12,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:12,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:12,248 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:12,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1678116475] [2022-04-08 05:34:12,249 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:34:12,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:12,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:12,254 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:34:12,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 05:34:12,309 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:34:12,309 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:12,310 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:34:12,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:12,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:34:13,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-08 05:34:13,105 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:34:13,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:34:13,106 INFO L290 TraceCheckUtils]: 14: Hoare triple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:34:13,107 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} {18953#true} #66#return; {19005#(<= 1 main_~y~0)} is VALID [2022-04-08 05:34:13,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {19005#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,107 INFO L290 TraceCheckUtils]: 17: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,108 INFO L272 TraceCheckUtils]: 19: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,108 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,109 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,109 INFO L272 TraceCheckUtils]: 24: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,109 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,109 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,109 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,109 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,110 INFO L272 TraceCheckUtils]: 29: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,110 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,110 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,110 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,110 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,111 INFO L290 TraceCheckUtils]: 34: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,111 INFO L290 TraceCheckUtils]: 35: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,112 INFO L290 TraceCheckUtils]: 36: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,112 INFO L290 TraceCheckUtils]: 37: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,112 INFO L272 TraceCheckUtils]: 38: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,112 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,112 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,112 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,113 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,113 INFO L272 TraceCheckUtils]: 43: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,113 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,113 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,113 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,114 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,114 INFO L272 TraceCheckUtils]: 48: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,114 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,114 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,115 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,115 INFO L290 TraceCheckUtils]: 53: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:34:13,116 INFO L290 TraceCheckUtils]: 54: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,116 INFO L290 TraceCheckUtils]: 55: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,117 INFO L290 TraceCheckUtils]: 56: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,117 INFO L272 TraceCheckUtils]: 57: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,117 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,117 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,118 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,118 INFO L272 TraceCheckUtils]: 62: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,118 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,118 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,118 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,119 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,119 INFO L272 TraceCheckUtils]: 67: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,119 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,119 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,119 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,119 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,120 INFO L290 TraceCheckUtils]: 72: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:34:13,121 INFO L290 TraceCheckUtils]: 73: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,121 INFO L290 TraceCheckUtils]: 74: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,121 INFO L290 TraceCheckUtils]: 75: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,122 INFO L272 TraceCheckUtils]: 76: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,122 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,122 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,122 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,122 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:13,123 INFO L272 TraceCheckUtils]: 81: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:34:13,123 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:13,123 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-08 05:34:13,124 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-08 05:34:13,124 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 23 proven. 33 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-08 05:34:13,124 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:34:13,529 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-08 05:34:13,529 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-08 05:34:13,529 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:13,530 INFO L272 TraceCheckUtils]: 81: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:34:13,531 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:13,531 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:13,531 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:13,531 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:13,531 INFO L272 TraceCheckUtils]: 76: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:13,531 INFO L290 TraceCheckUtils]: 75: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:13,532 INFO L290 TraceCheckUtils]: 74: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:15,228 INFO L290 TraceCheckUtils]: 73: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:15,229 INFO L290 TraceCheckUtils]: 72: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,230 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,230 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,230 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,230 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,230 INFO L272 TraceCheckUtils]: 67: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,231 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,231 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,231 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,231 INFO L272 TraceCheckUtils]: 62: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,232 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,232 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,232 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,232 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,232 INFO L272 TraceCheckUtils]: 57: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,233 INFO L290 TraceCheckUtils]: 56: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,233 INFO L290 TraceCheckUtils]: 55: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,271 INFO L290 TraceCheckUtils]: 54: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:15,271 INFO L290 TraceCheckUtils]: 53: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:15,272 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:15,272 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,272 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,272 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,272 INFO L272 TraceCheckUtils]: 48: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,273 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:15,273 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,273 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,273 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,273 INFO L272 TraceCheckUtils]: 43: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,274 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:15,274 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:15,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:15,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:15,274 INFO L272 TraceCheckUtils]: 38: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:15,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:15,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:34:17,277 WARN L290 TraceCheckUtils]: 35: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-08 05:34:17,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,278 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,278 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:17,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:17,278 INFO L272 TraceCheckUtils]: 29: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:17,279 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:17,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:17,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:17,280 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,280 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:17,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:17,280 INFO L272 TraceCheckUtils]: 19: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:17,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {18953#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:34:17,281 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18953#true} {18953#true} #66#return; {18953#true} is VALID [2022-04-08 05:34:17,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 13: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-08 05:34:17,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-08 05:34:17,283 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:34:17,283 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:17,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1013422990] [2022-04-08 05:34:17,283 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:17,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1678116475] [2022-04-08 05:34:17,283 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1678116475] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:17,283 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:17,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 05:34:17,284 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:17,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [67033865] [2022-04-08 05:34:17,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [67033865] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:17,284 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:17,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:34:17,284 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074858669] [2022-04-08 05:34:17,284 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:17,285 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:17,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:17,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:17,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:17,345 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:34:17,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:17,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:34:17,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:34:17,345 INFO L87 Difference]: Start difference. First operand 229 states and 268 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:19,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:19,351 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-08 05:34:19,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:34:19,351 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:19,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:19,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:19,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:34:19,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:19,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:34:19,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-08 05:34:19,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:19,488 INFO L225 Difference]: With dead ends: 256 [2022-04-08 05:34:19,488 INFO L226 Difference]: Without dead ends: 254 [2022-04-08 05:34:19,489 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:34:19,489 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 25 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:19,489 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 230 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 05:34:19,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-08 05:34:19,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-08 05:34:19,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:19,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:34:19,698 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:34:19,698 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:34:19,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:19,704 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:34:19,704 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:34:19,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:19,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:19,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-08 05:34:19,706 INFO L87 Difference]: Start difference. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-08 05:34:19,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:19,712 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:34:19,712 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:34:19,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:19,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:19,713 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:19,713 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:19,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:34:19,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-08 05:34:19,720 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-08 05:34:19,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:19,720 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-08 05:34:19,720 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:19,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-08 05:34:20,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 280 edges. 280 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:20,167 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-08 05:34:20,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:34:20,168 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:20,168 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:34:20,186 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 05:34:20,369 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:20,369 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:20,369 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:20,369 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-08 05:34:20,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:20,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [489389276] [2022-04-08 05:34:20,370 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:20,370 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-08 05:34:20,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:20,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1945315769] [2022-04-08 05:34:20,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:20,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:20,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:20,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1370108426] [2022-04-08 05:34:20,390 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:34:20,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:20,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:20,392 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:34:20,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 05:34:20,506 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:34:20,506 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:20,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:34:20,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:20,523 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:34:21,910 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:34:21,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-08 05:34:21,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-08 05:34:21,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,964 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-08 05:34:21,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,965 INFO L290 TraceCheckUtils]: 17: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,966 INFO L272 TraceCheckUtils]: 19: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,966 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,966 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,966 INFO L272 TraceCheckUtils]: 24: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,967 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,967 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,967 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,967 INFO L272 TraceCheckUtils]: 29: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,968 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,968 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:21,969 INFO L290 TraceCheckUtils]: 35: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,970 INFO L272 TraceCheckUtils]: 38: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,970 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,975 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,976 INFO L272 TraceCheckUtils]: 43: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,976 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,976 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,977 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,977 INFO L272 TraceCheckUtils]: 48: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,977 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,977 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,977 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,978 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:34:21,980 INFO L290 TraceCheckUtils]: 54: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,981 INFO L290 TraceCheckUtils]: 55: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,982 INFO L290 TraceCheckUtils]: 56: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,982 INFO L272 TraceCheckUtils]: 57: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,982 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,982 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,991 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,992 INFO L272 TraceCheckUtils]: 62: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,992 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,992 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,992 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,993 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,993 INFO L272 TraceCheckUtils]: 67: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,993 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,993 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,993 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,994 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,995 INFO L290 TraceCheckUtils]: 72: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:34:21,996 INFO L290 TraceCheckUtils]: 73: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:34:21,997 INFO L290 TraceCheckUtils]: 74: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:34:21,998 INFO L290 TraceCheckUtils]: 75: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:34:21,998 INFO L272 TraceCheckUtils]: 76: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:21,998 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:21,998 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:21,998 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:21,999 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:34:22,001 INFO L272 TraceCheckUtils]: 81: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:34:22,002 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:22,002 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-08 05:34:22,002 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-08 05:34:22,003 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:34:22,003 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:34:22,702 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-08 05:34:22,703 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-08 05:34:22,703 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:22,704 INFO L272 TraceCheckUtils]: 81: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:34:22,705 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:22,705 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:22,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:22,705 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:22,705 INFO L272 TraceCheckUtils]: 76: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:22,706 INFO L290 TraceCheckUtils]: 75: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:22,706 INFO L290 TraceCheckUtils]: 74: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:23,602 INFO L290 TraceCheckUtils]: 73: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:23,603 INFO L290 TraceCheckUtils]: 72: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,604 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,604 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,604 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,604 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,604 INFO L272 TraceCheckUtils]: 67: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,604 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,604 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L272 TraceCheckUtils]: 62: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,605 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,605 INFO L272 TraceCheckUtils]: 57: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,606 INFO L290 TraceCheckUtils]: 56: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,606 INFO L290 TraceCheckUtils]: 55: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:34:23,659 INFO L290 TraceCheckUtils]: 53: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:23,659 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:23,659 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L272 TraceCheckUtils]: 48: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:23,660 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,660 INFO L272 TraceCheckUtils]: 43: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,661 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:23,661 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:23,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:23,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:23,661 INFO L272 TraceCheckUtils]: 38: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:23,662 INFO L290 TraceCheckUtils]: 37: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:23,662 INFO L290 TraceCheckUtils]: 36: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:25,665 WARN L290 TraceCheckUtils]: 35: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-08 05:34:25,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,667 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:25,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:25,667 INFO L272 TraceCheckUtils]: 29: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L272 TraceCheckUtils]: 24: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:25,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:25,669 INFO L272 TraceCheckUtils]: 19: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:25,669 INFO L290 TraceCheckUtils]: 18: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 50);havoc #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:25,670 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-08 05:34:25,670 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-08 05:34:25,671 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:34:25,671 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:25,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1945315769] [2022-04-08 05:34:25,672 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:25,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1370108426] [2022-04-08 05:34:25,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1370108426] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:25,672 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:25,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 05:34:25,672 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:25,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [489389276] [2022-04-08 05:34:25,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [489389276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:25,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:25,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:34:25,672 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1154677553] [2022-04-08 05:34:25,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:25,673 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:25,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:25,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:25,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:25,737 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:34:25,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:25,738 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:34:25,738 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:34:25,738 INFO L87 Difference]: Start difference. First operand 238 states and 280 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:27,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:27,515 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-08 05:34:27,515 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:34:27,515 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:27,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:27,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:27,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:34:27,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:27,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:34:27,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-08 05:34:27,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:27,643 INFO L225 Difference]: With dead ends: 286 [2022-04-08 05:34:27,643 INFO L226 Difference]: Without dead ends: 284 [2022-04-08 05:34:27,644 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:34:27,644 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:27,644 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 05:34:27,645 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-08 05:34:27,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-08 05:34:27,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:27,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:27,921 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:27,921 INFO L87 Difference]: Start difference. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:27,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:27,926 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:34:27,926 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:34:27,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:27,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:27,927 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-08 05:34:27,927 INFO L87 Difference]: Start difference. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-08 05:34:27,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:27,934 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:34:27,934 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:34:27,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:27,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:27,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:27,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:27,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:27,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-08 05:34:27,943 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-08 05:34:27,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:27,943 INFO L478 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-08 05:34:27,943 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:27,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-08 05:34:28,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:28,538 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-08 05:34:28,539 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:34:28,539 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:28,539 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:34:28,567 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 05:34:28,755 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:28,755 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:28,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:28,756 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-08 05:34:28,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:28,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [285192495] [2022-04-08 05:34:28,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:28,756 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-08 05:34:28,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:28,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1439727545] [2022-04-08 05:34:28,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:28,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:28,767 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:28,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1445029307] [2022-04-08 05:34:28,767 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:34:28,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:28,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:28,768 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:34:28,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 05:34:28,820 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:34:28,821 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:28,822 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 05:34:28,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:28,838 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:35:05,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-08 05:35:05,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-08 05:35:05,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,369 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-08 05:35:05,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,370 INFO L272 TraceCheckUtils]: 19: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,370 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,370 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,371 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,371 INFO L272 TraceCheckUtils]: 24: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,374 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,374 INFO L272 TraceCheckUtils]: 29: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,375 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,375 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,376 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,377 INFO L290 TraceCheckUtils]: 34: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,378 INFO L290 TraceCheckUtils]: 36: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,379 INFO L272 TraceCheckUtils]: 38: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,379 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,380 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,380 INFO L272 TraceCheckUtils]: 43: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,380 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:05,381 INFO L290 TraceCheckUtils]: 45: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,382 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,382 INFO L272 TraceCheckUtils]: 48: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,382 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,382 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,382 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,383 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,383 INFO L290 TraceCheckUtils]: 53: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:35:05,385 INFO L290 TraceCheckUtils]: 54: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,385 INFO L290 TraceCheckUtils]: 55: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,386 INFO L290 TraceCheckUtils]: 56: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,386 INFO L272 TraceCheckUtils]: 57: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,386 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,386 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,386 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,387 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,387 INFO L272 TraceCheckUtils]: 62: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,387 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:05,388 INFO L290 TraceCheckUtils]: 64: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,388 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,389 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,389 INFO L272 TraceCheckUtils]: 67: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,389 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:05,389 INFO L290 TraceCheckUtils]: 69: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,390 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:05,391 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,391 INFO L290 TraceCheckUtils]: 72: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:35:05,393 INFO L290 TraceCheckUtils]: 73: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-08 05:35:05,394 INFO L290 TraceCheckUtils]: 74: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-08 05:35:05,395 INFO L290 TraceCheckUtils]: 75: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} assume !!(#t~post6 < 50);havoc #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-08 05:35:05,395 INFO L272 TraceCheckUtils]: 76: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:05,395 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:05,395 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:05,395 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:05,396 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #68#return; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-08 05:35:05,400 INFO L272 TraceCheckUtils]: 81: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:35:05,400 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:05,401 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-08 05:35:05,401 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-08 05:35:05,401 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 65 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-08 05:35:05,402 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:35:49,017 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-08 05:35:49,018 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-08 05:35:49,018 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:49,019 INFO L272 TraceCheckUtils]: 81: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:35:49,020 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:49,020 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,020 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,020 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,020 INFO L272 TraceCheckUtils]: 76: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,021 INFO L290 TraceCheckUtils]: 75: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:49,021 INFO L290 TraceCheckUtils]: 74: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:49,507 INFO L290 TraceCheckUtils]: 73: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:49,508 INFO L290 TraceCheckUtils]: 72: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:35:49,508 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:35:49,509 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:49,509 INFO L290 TraceCheckUtils]: 69: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:49,509 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:35:49,509 INFO L272 TraceCheckUtils]: 67: Hoare triple {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,511 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23176#true} #70#return; {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:35:49,512 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:49,512 INFO L290 TraceCheckUtils]: 64: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:49,512 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:35:49,513 INFO L272 TraceCheckUtils]: 62: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L272 TraceCheckUtils]: 57: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 56: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 55: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 54: Hoare triple {23176#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L290 TraceCheckUtils]: 53: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-08 05:35:49,513 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L272 TraceCheckUtils]: 48: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 46: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 45: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L272 TraceCheckUtils]: 43: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,514 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L272 TraceCheckUtils]: 38: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {23176#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 34: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,515 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L272 TraceCheckUtils]: 29: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L272 TraceCheckUtils]: 24: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L272 TraceCheckUtils]: 19: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 17: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-08 05:35:49,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-08 05:35:49,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-08 05:35:49,519 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 78 proven. 8 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-08 05:35:49,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:35:49,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1439727545] [2022-04-08 05:35:49,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:35:49,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1445029307] [2022-04-08 05:35:49,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1445029307] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:35:49,519 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:35:49,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 05:35:49,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:35:49,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [285192495] [2022-04-08 05:35:49,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [285192495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:35:49,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:35:49,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:35:49,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1392824007] [2022-04-08 05:35:49,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:35:49,520 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:35:49,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:35:49,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:35:49,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:35:49,585 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:35:49,585 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:35:49,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:35:49,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:35:49,586 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:35:52,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:52,077 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-08 05:35:52,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:35:52,078 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:35:52,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:35:52,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:35:52,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 05:35:52,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:35:52,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 05:35:52,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-08 05:35:52,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:35:52,260 INFO L225 Difference]: With dead ends: 297 [2022-04-08 05:35:52,260 INFO L226 Difference]: Without dead ends: 295 [2022-04-08 05:35:52,260 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 153 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:35:52,261 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:35:52,261 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 209 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 05:35:52,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-08 05:35:52,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-08 05:35:52,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:35:52,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:52,536 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:52,536 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:52,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:52,543 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:35:52,543 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:35:52,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:35:52,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:35:52,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-08 05:35:52,544 INFO L87 Difference]: Start difference. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-08 05:35:52,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:52,551 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:35:52,551 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:35:52,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:35:52,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:35:52,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:35:52,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:35:52,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:52,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-08 05:35:52,559 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-08 05:35:52,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:35:52,559 INFO L478 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-08 05:35:52,559 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:35:52,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-08 05:35:53,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:35:53,166 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-08 05:35:53,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:35:53,167 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:35:53,167 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:35:53,195 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-08 05:35:53,391 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:35:53,392 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:35:53,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:35:53,392 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-08 05:35:53,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:35:53,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [54803582] [2022-04-08 05:35:53,392 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:35:53,392 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-08 05:35:53,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:35:53,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1880899367] [2022-04-08 05:35:53,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:35:53,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:35:53,404 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:35:53,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [963989330] [2022-04-08 05:35:53,405 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:35:53,405 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:35:53,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:35:53,406 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:35:53,406 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 05:35:53,494 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:35:53,494 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:35:53,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:35:53,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:35:53,525 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:35:53,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {25385#true} call ULTIMATE.init(); {25385#true} is VALID [2022-04-08 05:35:53,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {25385#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25385#true} is VALID [2022-04-08 05:35:53,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25385#true} {25385#true} #82#return; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L272 TraceCheckUtils]: 4: Hoare triple {25385#true} call #t~ret7 := main(); {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {25385#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L272 TraceCheckUtils]: 6: Hoare triple {25385#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25385#true} {25385#true} #64#return; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L272 TraceCheckUtils]: 11: Hoare triple {25385#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 12: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,985 INFO L290 TraceCheckUtils]: 13: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,986 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25385#true} {25385#true} #66#return; {25385#true} is VALID [2022-04-08 05:35:53,986 INFO L290 TraceCheckUtils]: 16: Hoare triple {25385#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,987 INFO L290 TraceCheckUtils]: 17: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,987 INFO L290 TraceCheckUtils]: 18: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,987 INFO L272 TraceCheckUtils]: 19: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,987 INFO L290 TraceCheckUtils]: 22: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,988 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,988 INFO L272 TraceCheckUtils]: 24: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:53,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:53,989 INFO L290 TraceCheckUtils]: 27: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:53,990 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,990 INFO L272 TraceCheckUtils]: 29: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,991 INFO L290 TraceCheckUtils]: 32: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,991 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,992 INFO L290 TraceCheckUtils]: 34: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,993 INFO L290 TraceCheckUtils]: 36: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,993 INFO L290 TraceCheckUtils]: 37: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,994 INFO L272 TraceCheckUtils]: 38: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,994 INFO L290 TraceCheckUtils]: 39: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,994 INFO L290 TraceCheckUtils]: 40: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,994 INFO L290 TraceCheckUtils]: 41: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,995 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,995 INFO L272 TraceCheckUtils]: 43: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,995 INFO L290 TraceCheckUtils]: 44: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,996 INFO L290 TraceCheckUtils]: 45: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,996 INFO L290 TraceCheckUtils]: 46: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,997 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,997 INFO L272 TraceCheckUtils]: 48: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:53,997 INFO L290 TraceCheckUtils]: 49: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:53,997 INFO L290 TraceCheckUtils]: 50: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:53,997 INFO L290 TraceCheckUtils]: 51: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:53,998 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:53,999 INFO L290 TraceCheckUtils]: 53: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,000 INFO L290 TraceCheckUtils]: 54: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,000 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,001 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,001 INFO L272 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:54,001 INFO L290 TraceCheckUtils]: 58: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:54,001 INFO L290 TraceCheckUtils]: 59: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:54,001 INFO L290 TraceCheckUtils]: 60: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:54,002 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,002 INFO L272 TraceCheckUtils]: 62: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:54,002 INFO L290 TraceCheckUtils]: 63: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:35:54,002 INFO L290 TraceCheckUtils]: 64: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:35:54,003 INFO L290 TraceCheckUtils]: 65: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:35:54,003 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,004 INFO L272 TraceCheckUtils]: 67: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:54,004 INFO L290 TraceCheckUtils]: 68: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:54,005 INFO L290 TraceCheckUtils]: 69: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:54,005 INFO L290 TraceCheckUtils]: 70: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:54,006 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,007 INFO L290 TraceCheckUtils]: 72: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:54,008 INFO L290 TraceCheckUtils]: 73: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:54,009 INFO L290 TraceCheckUtils]: 74: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:54,009 INFO L290 TraceCheckUtils]: 75: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:54,009 INFO L272 TraceCheckUtils]: 76: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-08 05:35:54,010 INFO L290 TraceCheckUtils]: 77: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:54,010 INFO L290 TraceCheckUtils]: 78: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:54,010 INFO L290 TraceCheckUtils]: 79: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:54,043 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-08 05:35:54,044 INFO L272 TraceCheckUtils]: 81: Hoare triple {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:35:54,044 INFO L290 TraceCheckUtils]: 82: Hoare triple {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25643#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:54,045 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25386#false} is VALID [2022-04-08 05:35:54,045 INFO L290 TraceCheckUtils]: 84: Hoare triple {25386#false} assume !false; {25386#false} is VALID [2022-04-08 05:35:54,045 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 66 proven. 33 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-08 05:35:54,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:37:18,487 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:37:28,644 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:37:46,182 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse5 (+ (* (- 1) c_main_~q~0) c_main_~p~0))) (let ((.cse0 (= c_main_~y~0 0)) (.cse4 (+ c_main_~b~0 (* (- 1) c_main_~q~0 c_main_~x~0))) (.cse1 (* .cse5 c_main_~x~0)) (.cse3 (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (and (let ((.cse6 (div .cse4 c_main_~y~0))) (let ((.cse2 (+ c_main_~r~0 (* (- 1) .cse6)))) (or .cse0 (= (+ .cse1 (* .cse2 c_main_~y~0)) .cse3) (not (= (mod .cse4 c_main_~y~0) 0)) (not (= (+ (* c_main_~q~0 .cse2) 1) (* .cse5 .cse6)))))) (or (not .cse0) (not (= .cse4 0)) (let ((.cse8 (= c_main_~p~0 0)) (.cse7 (+ (* c_main_~q~0 c_main_~r~0) 1))) (and (or (not (= .cse7 0)) (forall ((main_~s~0 Int)) (= (+ (* (+ (* (- 1) c_main_~q~0) c_main_~p~0) c_main_~x~0) (* (+ (* (- 1) main_~s~0) c_main_~r~0) c_main_~y~0)) (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (not .cse8)) (or .cse8 (not (= (mod .cse7 c_main_~p~0) 0)) (= (+ .cse1 (* (+ c_main_~r~0 (* (div .cse7 c_main_~p~0) (- 1))) c_main_~y~0)) .cse3)))))))) is different from true [2022-04-08 05:37:46,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:37:46,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1880899367] [2022-04-08 05:37:46,184 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:37:46,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [963989330] [2022-04-08 05:37:46,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [963989330] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:37:46,184 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:37:46,184 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-08 05:37:46,184 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:37:46,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [54803582] [2022-04-08 05:37:46,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [54803582] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:37:46,185 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:37:46,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:37:46,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1165788056] [2022-04-08 05:37:46,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:37:46,185 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-08 05:37:46,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:37:46,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:46,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:46,249 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:37:46,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:46,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:37:46,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=143, Unknown=1, NotChecked=24, Total=210 [2022-04-08 05:37:46,250 INFO L87 Difference]: Start difference. First operand 249 states and 294 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:48,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:48,438 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-08 05:37:48,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:37:48,438 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-08 05:37:48,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:37:48,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:48,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:37:48,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:48,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:37:48,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-08 05:37:48,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:48,648 INFO L225 Difference]: With dead ends: 315 [2022-04-08 05:37:48,648 INFO L226 Difference]: Without dead ends: 309 [2022-04-08 05:37:48,651 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=61, Invalid=214, Unknown=1, NotChecked=30, Total=306 [2022-04-08 05:37:48,652 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 408 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:37:48,652 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 05:37:48,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-08 05:37:48,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-08 05:37:48,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:37:48,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:48,953 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:48,954 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:48,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:48,961 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:37:48,961 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:37:48,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:48,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:48,963 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-08 05:37:48,963 INFO L87 Difference]: Start difference. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-08 05:37:48,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:48,971 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:37:48,971 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:37:48,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:48,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:48,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:37:48,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:37:48,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:48,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-08 05:37:48,979 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-08 05:37:48,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:37:48,979 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-08 05:37:48,979 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:48,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-08 05:37:49,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:49,773 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-08 05:37:49,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:37:49,774 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:37:49,774 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:37:49,792 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-08 05:37:49,979 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 05:37:49,980 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:37:49,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:37:49,980 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-08 05:37:49,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:49,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1977898902] [2022-04-08 05:37:49,980 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:37:49,980 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-08 05:37:49,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:37:49,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2004357864] [2022-04-08 05:37:49,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:37:49,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:37:49,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:37:49,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1991306871] [2022-04-08 05:37:49,994 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:37:49,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:37:49,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:37:49,996 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:37:49,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-08 05:37:50,096 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:37:50,096 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:37:50,098 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:37:50,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:37:50,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:37:51,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,265 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-08 05:37:51,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,267 INFO L272 TraceCheckUtils]: 19: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,267 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,268 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,268 INFO L272 TraceCheckUtils]: 24: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,268 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,269 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,269 INFO L272 TraceCheckUtils]: 29: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,269 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,270 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:37:51,272 INFO L290 TraceCheckUtils]: 35: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,273 INFO L290 TraceCheckUtils]: 37: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,273 INFO L272 TraceCheckUtils]: 38: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,274 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,274 INFO L272 TraceCheckUtils]: 43: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,275 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,275 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,276 INFO L272 TraceCheckUtils]: 48: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,276 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,276 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,276 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,277 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,277 INFO L290 TraceCheckUtils]: 53: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:37:51,279 INFO L290 TraceCheckUtils]: 54: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,279 INFO L290 TraceCheckUtils]: 55: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,280 INFO L290 TraceCheckUtils]: 56: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,280 INFO L272 TraceCheckUtils]: 57: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,280 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,280 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,280 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,281 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #68#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,281 INFO L272 TraceCheckUtils]: 62: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,282 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,282 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,282 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,283 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #70#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,283 INFO L272 TraceCheckUtils]: 67: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,283 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,283 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,283 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,284 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #72#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,284 INFO L290 TraceCheckUtils]: 72: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-08 05:37:51,286 INFO L290 TraceCheckUtils]: 73: Hoare triple {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:51,287 INFO L290 TraceCheckUtils]: 74: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:51,288 INFO L290 TraceCheckUtils]: 75: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:51,288 INFO L272 TraceCheckUtils]: 76: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,288 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,288 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,288 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,289 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:51,289 INFO L272 TraceCheckUtils]: 81: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:51,289 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:51,289 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:51,289 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:51,290 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:51,291 INFO L272 TraceCheckUtils]: 86: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:37:51,291 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:37:51,292 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-08 05:37:51,292 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-08 05:37:51,293 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 05:37:51,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:37:52,835 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-08 05:37:52,835 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-08 05:37:52,836 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:37:52,836 INFO L272 TraceCheckUtils]: 86: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:37:52,837 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:52,837 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:52,837 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:52,837 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:52,837 INFO L272 TraceCheckUtils]: 81: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:52,838 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:52,838 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:52,838 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:52,838 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:52,838 INFO L272 TraceCheckUtils]: 76: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:52,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:52,839 INFO L290 TraceCheckUtils]: 74: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:52,934 INFO L290 TraceCheckUtils]: 73: Hoare triple {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:52,935 INFO L290 TraceCheckUtils]: 72: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:52,936 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:52,936 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:52,936 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:52,936 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:52,936 INFO L272 TraceCheckUtils]: 67: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:52,938 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:52,938 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:52,938 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:52,938 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:52,938 INFO L272 TraceCheckUtils]: 62: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:52,939 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:52,939 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:52,939 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:52,939 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:52,939 INFO L272 TraceCheckUtils]: 57: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:52,939 INFO L290 TraceCheckUtils]: 56: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:52,940 INFO L290 TraceCheckUtils]: 55: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:53,808 INFO L290 TraceCheckUtils]: 54: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:53,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:53,810 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:53,810 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:53,810 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:53,810 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:53,810 INFO L272 TraceCheckUtils]: 48: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:53,811 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:53,811 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:53,811 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:53,811 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:53,811 INFO L272 TraceCheckUtils]: 43: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:53,812 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:53,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:53,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:53,812 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:53,812 INFO L272 TraceCheckUtils]: 38: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:53,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:53,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:54,150 INFO L290 TraceCheckUtils]: 35: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:54,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,151 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L272 TraceCheckUtils]: 29: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:54,152 INFO L272 TraceCheckUtils]: 24: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:54,153 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:54,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:54,153 INFO L272 TraceCheckUtils]: 19: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:54,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:54,155 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-08 05:37:54,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-08 05:37:54,156 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 05:37:54,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:37:54,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2004357864] [2022-04-08 05:37:54,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:37:54,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1991306871] [2022-04-08 05:37:54,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1991306871] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:37:54,157 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:37:54,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 05:37:54,157 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:37:54,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1977898902] [2022-04-08 05:37:54,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1977898902] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:37:54,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:37:54,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:37:54,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1986396128] [2022-04-08 05:37:54,157 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:37:54,157 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-08 05:37:54,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:37:54,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:54,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:54,225 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:37:54,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:54,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:37:54,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:37:54,226 INFO L87 Difference]: Start difference. First operand 265 states and 313 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:57,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:57,352 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-08 05:37:57,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:37:57,352 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-08 05:37:57,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:37:57,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:57,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:37:57,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:57,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:37:57,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 05:37:57,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:57,547 INFO L225 Difference]: With dead ends: 291 [2022-04-08 05:37:57,547 INFO L226 Difference]: Without dead ends: 285 [2022-04-08 05:37:57,547 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:37:57,548 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 10 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 284 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:37:57,548 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 241 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 05:37:57,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-08 05:37:57,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-08 05:37:57,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:37:57,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:57,861 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:57,861 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:57,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:57,867 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:37:57,867 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:37:57,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:57,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:57,869 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-08 05:37:57,869 INFO L87 Difference]: Start difference. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-08 05:37:57,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:57,876 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:37:57,876 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:37:57,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:57,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:57,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:37:57,877 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:37:57,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:57,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-08 05:37:57,885 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-08 05:37:57,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:37:57,886 INFO L478 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-08 05:37:57,886 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:57,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-08 05:37:58,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:58,761 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-08 05:37:58,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:37:58,762 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:37:58,762 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:37:58,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-08 05:37:58,962 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-08 05:37:58,962 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:37:58,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:37:58,963 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-08 05:37:58,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:58,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1760085098] [2022-04-08 05:37:58,963 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:37:58,964 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-08 05:37:58,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:37:58,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33578906] [2022-04-08 05:37:58,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:37:58,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:37:58,974 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:37:58,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1775416373] [2022-04-08 05:37:58,975 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:37:58,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:37:58,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:37:58,976 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:37:58,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 05:37:59,030 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:37:59,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:37:59,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 05:37:59,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:37:59,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:38:00,740 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-08 05:38:00,741 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,742 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-08 05:38:00,742 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,743 INFO L290 TraceCheckUtils]: 17: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,743 INFO L272 TraceCheckUtils]: 19: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,744 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,744 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #68#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,744 INFO L272 TraceCheckUtils]: 24: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,745 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #70#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,746 INFO L272 TraceCheckUtils]: 29: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,746 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #72#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,747 INFO L290 TraceCheckUtils]: 34: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 05:38:00,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,749 INFO L272 TraceCheckUtils]: 38: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,749 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,750 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,750 INFO L272 TraceCheckUtils]: 43: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,750 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,751 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,751 INFO L272 TraceCheckUtils]: 48: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,751 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:38:00,752 INFO L290 TraceCheckUtils]: 50: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,752 INFO L290 TraceCheckUtils]: 51: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,753 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,753 INFO L290 TraceCheckUtils]: 53: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:38:00,755 INFO L290 TraceCheckUtils]: 54: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,756 INFO L290 TraceCheckUtils]: 55: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,757 INFO L290 TraceCheckUtils]: 56: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,757 INFO L272 TraceCheckUtils]: 57: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,757 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,758 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,758 INFO L272 TraceCheckUtils]: 62: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,758 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:38:00,758 INFO L290 TraceCheckUtils]: 64: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,759 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,760 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,760 INFO L272 TraceCheckUtils]: 67: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,760 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:38:00,761 INFO L290 TraceCheckUtils]: 69: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:00,762 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,762 INFO L290 TraceCheckUtils]: 72: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:38:00,771 INFO L290 TraceCheckUtils]: 73: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-08 05:38:00,772 INFO L290 TraceCheckUtils]: 74: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-08 05:38:00,772 INFO L290 TraceCheckUtils]: 75: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-08 05:38:00,772 INFO L272 TraceCheckUtils]: 76: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,772 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,772 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,772 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,773 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #68#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-08 05:38:00,773 INFO L272 TraceCheckUtils]: 81: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:00,773 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:00,773 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:00,773 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:00,774 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #70#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-08 05:38:00,777 INFO L272 TraceCheckUtils]: 86: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:38:00,778 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:38:00,778 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-08 05:38:00,779 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-08 05:38:00,779 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 70 proven. 60 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-08 05:38:00,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:38:35,735 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-08 05:38:35,736 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-08 05:38:35,736 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:38:35,737 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:38:35,737 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L272 TraceCheckUtils]: 81: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:35,738 INFO L272 TraceCheckUtils]: 76: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:35,739 INFO L290 TraceCheckUtils]: 75: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:38:35,739 INFO L290 TraceCheckUtils]: 74: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:38:36,017 INFO L290 TraceCheckUtils]: 73: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:38:36,018 INFO L290 TraceCheckUtils]: 72: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:38:36,019 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:38:36,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:36,020 INFO L290 TraceCheckUtils]: 69: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:36,020 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:38:36,020 INFO L272 TraceCheckUtils]: 67: Hoare triple {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,022 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29725#true} #70#return; {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:38:36,023 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:36,023 INFO L290 TraceCheckUtils]: 64: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:38:36,023 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:38:36,023 INFO L272 TraceCheckUtils]: 62: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,023 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:38:36,023 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,023 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L272 TraceCheckUtils]: 57: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 56: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L272 TraceCheckUtils]: 48: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,024 INFO L272 TraceCheckUtils]: 43: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L272 TraceCheckUtils]: 38: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-08 05:38:36,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L272 TraceCheckUtils]: 29: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L272 TraceCheckUtils]: 24: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:38:36,026 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L272 TraceCheckUtils]: 19: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-08 05:38:36,028 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-08 05:38:36,029 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 82 proven. 15 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-08 05:38:36,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:38:36,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [33578906] [2022-04-08 05:38:36,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:38:36,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1775416373] [2022-04-08 05:38:36,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1775416373] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:38:36,029 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:38:36,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 05:38:36,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:38:36,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1760085098] [2022-04-08 05:38:36,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1760085098] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:38:36,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:38:36,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:38:36,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1290165724] [2022-04-08 05:38:36,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:38:36,031 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-08 05:38:36,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:38:36,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 05:38:36,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:38:36,139 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:38:36,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:38:36,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:38:36,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:38:36,140 INFO L87 Difference]: Start difference. First operand 269 states and 319 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 05:38:40,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:38:40,098 INFO L93 Difference]: Finished difference Result 310 states and 377 transitions. [2022-04-08 05:38:40,098 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:38:40,098 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-08 05:38:40,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:38:40,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 05:38:40,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:38:40,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 05:38:40,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:38:40,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-08 05:38:40,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:38:40,251 INFO L225 Difference]: With dead ends: 310 [2022-04-08 05:38:40,251 INFO L226 Difference]: Without dead ends: 304 [2022-04-08 05:38:40,251 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:38:40,252 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 05:38:40,252 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 219 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 05:38:40,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-04-08 05:38:40,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 284. [2022-04-08 05:38:40,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:38:40,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-08 05:38:40,574 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-08 05:38:40,574 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-08 05:38:40,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:38:40,581 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-08 05:38:40,581 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-08 05:38:40,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:38:40,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:38:40,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-08 05:38:40,583 INFO L87 Difference]: Start difference. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-08 05:38:40,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:38:40,590 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-08 05:38:40,590 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-08 05:38:40,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:38:40,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:38:40,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:38:40,591 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:38:40,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-08 05:38:40,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 336 transitions. [2022-04-08 05:38:40,598 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 336 transitions. Word has length 90 [2022-04-08 05:38:40,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:38:40,598 INFO L478 AbstractCegarLoop]: Abstraction has 284 states and 336 transitions. [2022-04-08 05:38:40,598 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 05:38:40,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 336 transitions. [2022-04-08 05:38:41,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 336 edges. 336 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:38:41,916 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 336 transitions. [2022-04-08 05:38:41,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:38:41,916 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:38:41,916 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:38:41,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 05:38:42,117 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:38:42,117 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:38:42,117 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:38:42,118 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 17 times [2022-04-08 05:38:42,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:38:42,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [73647887] [2022-04-08 05:38:42,118 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:38:42,118 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 18 times [2022-04-08 05:38:42,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:38:42,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [939324021] [2022-04-08 05:38:42,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:38:42,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:38:42,138 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:38:42,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1936996138] [2022-04-08 05:38:42,139 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:38:42,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:38:42,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:38:42,140 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:38:42,140 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-08 05:38:42,253 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:38:42,253 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:38:42,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:38:42,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:38:42,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:40:47,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-08 05:40:47,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-08 05:40:47,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-08 05:40:47,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-08 05:40:47,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-08 05:40:47,522 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,523 INFO L272 TraceCheckUtils]: 19: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,533 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,533 INFO L272 TraceCheckUtils]: 24: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,534 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,534 INFO L272 TraceCheckUtils]: 29: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,534 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,534 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,535 INFO L290 TraceCheckUtils]: 35: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,536 INFO L272 TraceCheckUtils]: 38: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,536 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,536 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,537 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,537 INFO L272 TraceCheckUtils]: 43: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,537 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,537 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,537 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,538 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,538 INFO L272 TraceCheckUtils]: 48: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,538 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,538 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,538 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,538 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,539 INFO L290 TraceCheckUtils]: 53: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:40:47,539 INFO L290 TraceCheckUtils]: 54: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,540 INFO L290 TraceCheckUtils]: 55: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,540 INFO L290 TraceCheckUtils]: 56: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,540 INFO L272 TraceCheckUtils]: 57: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,540 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,540 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,540 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,541 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,541 INFO L272 TraceCheckUtils]: 62: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,541 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,541 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,541 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,542 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #70#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,542 INFO L272 TraceCheckUtils]: 67: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,542 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:47,542 INFO L290 TraceCheckUtils]: 69: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:47,543 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:47,543 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #72#return; {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,544 INFO L290 TraceCheckUtils]: 72: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(~a~0 != ~b~0); {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:40:47,586 INFO L290 TraceCheckUtils]: 73: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:40:47,587 INFO L290 TraceCheckUtils]: 74: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:40:47,588 INFO L290 TraceCheckUtils]: 75: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:40:47,588 INFO L272 TraceCheckUtils]: 76: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:40:47,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:40:47,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:40:47,589 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:40:47,589 INFO L272 TraceCheckUtils]: 81: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:40:47,589 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:47,589 INFO L290 TraceCheckUtils]: 83: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:47,590 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:49,594 WARN L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is UNKNOWN [2022-04-08 05:40:49,596 INFO L272 TraceCheckUtils]: 86: Hoare triple {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:40:49,596 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:49,597 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-08 05:40:49,597 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-08 05:40:49,597 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 71 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-08 05:40:49,597 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:41:13,052 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-08 05:41:13,052 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-08 05:41:13,053 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:13,053 INFO L272 TraceCheckUtils]: 86: Hoare triple {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:13,054 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:41:13,055 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:13,055 INFO L290 TraceCheckUtils]: 83: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:13,055 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:41:13,055 INFO L272 TraceCheckUtils]: 81: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:13,056 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:41:13,056 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:13,056 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:13,056 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:13,056 INFO L272 TraceCheckUtils]: 76: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:13,056 INFO L290 TraceCheckUtils]: 75: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:41:13,057 INFO L290 TraceCheckUtils]: 74: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:41:15,060 WARN L290 TraceCheckUtils]: 73: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is UNKNOWN [2022-04-08 05:41:15,061 INFO L290 TraceCheckUtils]: 72: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:41:15,062 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32079#true} #72#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:41:15,062 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:15,062 INFO L290 TraceCheckUtils]: 69: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:15,062 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:41:15,063 INFO L272 TraceCheckUtils]: 67: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L272 TraceCheckUtils]: 62: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L272 TraceCheckUtils]: 57: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 56: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 55: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 54: Hoare triple {32079#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 53: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,063 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L272 TraceCheckUtils]: 48: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L272 TraceCheckUtils]: 43: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L272 TraceCheckUtils]: 38: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 37: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 36: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {32079#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 34: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L272 TraceCheckUtils]: 29: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L272 TraceCheckUtils]: 24: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L272 TraceCheckUtils]: 19: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 17: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-08 05:41:15,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-08 05:41:15,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-08 05:41:15,068 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 90 proven. 5 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2022-04-08 05:41:15,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:15,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [939324021] [2022-04-08 05:41:15,068 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:15,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1936996138] [2022-04-08 05:41:15,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1936996138] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:41:15,068 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:41:15,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-08 05:41:15,069 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:15,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [73647887] [2022-04-08 05:41:15,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [73647887] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:15,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:15,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:41:15,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1947763976] [2022-04-08 05:41:15,069 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:15,069 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-08 05:41:15,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:15,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:41:17,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:17,232 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:41:17,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:17,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:41:17,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-08 05:41:17,232 INFO L87 Difference]: Start difference. First operand 284 states and 336 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:41:22,152 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:24,184 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:26,212 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:30,152 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.70s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:42,275 WARN L232 SmtUtils]: Spent 12.09s on a formula simplification. DAG size of input: 57 DAG size of output: 42 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 05:41:49,484 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:51,897 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:41:55,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-08 05:41:58,620 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:42:01,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:01,091 INFO L93 Difference]: Finished difference Result 351 states and 439 transitions. [2022-04-08 05:42:01,091 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:42:01,092 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-08 05:42:01,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:01,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:01,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-08 05:42:01,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:01,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-08 05:42:01,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-08 05:42:03,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 130 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:03,791 INFO L225 Difference]: With dead ends: 351 [2022-04-08 05:42:03,791 INFO L226 Difference]: Without dead ends: 330 [2022-04-08 05:42:03,791 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 16.3s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-08 05:42:03,792 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 25 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 572 mSolverCounterSat, 29 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 608 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 572 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.5s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:03,792 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 261 Invalid, 608 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 572 Invalid, 7 Unknown, 0 Unchecked, 20.5s Time] [2022-04-08 05:42:03,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2022-04-08 05:42:04,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 321. [2022-04-08 05:42:04,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:04,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-08 05:42:04,183 INFO L74 IsIncluded]: Start isIncluded. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-08 05:42:04,184 INFO L87 Difference]: Start difference. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-08 05:42:04,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:04,194 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-08 05:42:04,194 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-08 05:42:04,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:04,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:04,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-08 05:42:04,196 INFO L87 Difference]: Start difference. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-08 05:42:04,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:04,203 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-08 05:42:04,203 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-08 05:42:04,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:04,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:04,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:04,204 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:04,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-08 05:42:04,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 389 transitions. [2022-04-08 05:42:04,214 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 389 transitions. Word has length 90 [2022-04-08 05:42:04,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:04,215 INFO L478 AbstractCegarLoop]: Abstraction has 321 states and 389 transitions. [2022-04-08 05:42:04,215 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:04,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 389 transitions. [2022-04-08 05:42:07,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 389 edges. 389 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:07,524 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 389 transitions. [2022-04-08 05:42:07,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 05:42:07,525 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:07,525 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:07,542 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:07,725 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:07,725 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:07,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:07,726 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 7 times [2022-04-08 05:42:07,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:07,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [55259027] [2022-04-08 05:42:07,726 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:07,726 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 8 times [2022-04-08 05:42:07,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:07,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [202428004] [2022-04-08 05:42:07,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:07,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:07,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:07,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1237461660] [2022-04-08 05:42:07,737 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:07,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:07,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:07,738 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:07,739 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-08 05:42:07,792 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:07,793 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:07,794 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 05:42:07,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:07,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:08,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {34642#true} call ULTIMATE.init(); {34642#true} is VALID [2022-04-08 05:42:08,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {34642#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34650#(<= ~counter~0 0)} {34642#true} #82#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {34650#(<= ~counter~0 0)} call #t~ret7 := main(); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {34650#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {34650#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {34650#(<= ~counter~0 0)} ~cond := #in~cond; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {34650#(<= ~counter~0 0)} assume !(0 == ~cond); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,220 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34650#(<= ~counter~0 0)} {34650#(<= ~counter~0 0)} #64#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,220 INFO L272 TraceCheckUtils]: 11: Hoare triple {34650#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,221 INFO L290 TraceCheckUtils]: 12: Hoare triple {34650#(<= ~counter~0 0)} ~cond := #in~cond; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {34650#(<= ~counter~0 0)} assume !(0 == ~cond); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,222 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34650#(<= ~counter~0 0)} {34650#(<= ~counter~0 0)} #66#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {34650#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:42:08,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {34650#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {34699#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,224 INFO L272 TraceCheckUtils]: 19: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,224 INFO L290 TraceCheckUtils]: 22: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,225 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #68#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,225 INFO L272 TraceCheckUtils]: 24: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #70#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,227 INFO L272 TraceCheckUtils]: 29: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,228 INFO L290 TraceCheckUtils]: 30: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,228 INFO L290 TraceCheckUtils]: 31: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,229 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #72#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {34699#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,229 INFO L290 TraceCheckUtils]: 35: Hoare triple {34699#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:42:08,230 INFO L290 TraceCheckUtils]: 36: Hoare triple {34699#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,230 INFO L290 TraceCheckUtils]: 37: Hoare triple {34757#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,231 INFO L272 TraceCheckUtils]: 38: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,231 INFO L290 TraceCheckUtils]: 39: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,231 INFO L290 TraceCheckUtils]: 40: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,232 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #68#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,233 INFO L272 TraceCheckUtils]: 43: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,233 INFO L290 TraceCheckUtils]: 44: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,233 INFO L290 TraceCheckUtils]: 45: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,233 INFO L290 TraceCheckUtils]: 46: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,234 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #70#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,234 INFO L272 TraceCheckUtils]: 48: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,235 INFO L290 TraceCheckUtils]: 50: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,235 INFO L290 TraceCheckUtils]: 51: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,236 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #72#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,236 INFO L290 TraceCheckUtils]: 53: Hoare triple {34757#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,236 INFO L290 TraceCheckUtils]: 54: Hoare triple {34757#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:42:08,237 INFO L290 TraceCheckUtils]: 55: Hoare triple {34757#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,238 INFO L290 TraceCheckUtils]: 56: Hoare triple {34815#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,238 INFO L272 TraceCheckUtils]: 57: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,238 INFO L290 TraceCheckUtils]: 58: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,239 INFO L290 TraceCheckUtils]: 59: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,239 INFO L290 TraceCheckUtils]: 60: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,239 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #68#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,240 INFO L272 TraceCheckUtils]: 62: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,240 INFO L290 TraceCheckUtils]: 63: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,240 INFO L290 TraceCheckUtils]: 64: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,241 INFO L290 TraceCheckUtils]: 65: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,241 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #70#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,242 INFO L272 TraceCheckUtils]: 67: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,242 INFO L290 TraceCheckUtils]: 68: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,242 INFO L290 TraceCheckUtils]: 69: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,242 INFO L290 TraceCheckUtils]: 70: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,243 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #72#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {34815#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,244 INFO L290 TraceCheckUtils]: 73: Hoare triple {34815#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:42:08,245 INFO L290 TraceCheckUtils]: 74: Hoare triple {34815#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,245 INFO L290 TraceCheckUtils]: 75: Hoare triple {34873#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,246 INFO L272 TraceCheckUtils]: 76: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,246 INFO L290 TraceCheckUtils]: 77: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,246 INFO L290 TraceCheckUtils]: 78: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,246 INFO L290 TraceCheckUtils]: 79: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,247 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #68#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,247 INFO L272 TraceCheckUtils]: 81: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,248 INFO L290 TraceCheckUtils]: 82: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,248 INFO L290 TraceCheckUtils]: 83: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,248 INFO L290 TraceCheckUtils]: 84: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,249 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #70#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,249 INFO L272 TraceCheckUtils]: 86: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,250 INFO L290 TraceCheckUtils]: 87: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,250 INFO L290 TraceCheckUtils]: 88: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,250 INFO L290 TraceCheckUtils]: 89: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,251 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #72#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,251 INFO L290 TraceCheckUtils]: 91: Hoare triple {34873#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,251 INFO L290 TraceCheckUtils]: 92: Hoare triple {34873#(<= ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:42:08,251 INFO L290 TraceCheckUtils]: 93: Hoare triple {34873#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34931#(<= |main_#t~post6| 4)} is VALID [2022-04-08 05:42:08,252 INFO L290 TraceCheckUtils]: 94: Hoare triple {34931#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {34643#false} is VALID [2022-04-08 05:42:08,252 INFO L272 TraceCheckUtils]: 95: Hoare triple {34643#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34643#false} is VALID [2022-04-08 05:42:08,252 INFO L290 TraceCheckUtils]: 96: Hoare triple {34643#false} ~cond := #in~cond; {34643#false} is VALID [2022-04-08 05:42:08,252 INFO L290 TraceCheckUtils]: 97: Hoare triple {34643#false} assume 0 == ~cond; {34643#false} is VALID [2022-04-08 05:42:08,252 INFO L290 TraceCheckUtils]: 98: Hoare triple {34643#false} assume !false; {34643#false} is VALID [2022-04-08 05:42:08,252 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-08 05:42:08,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:08,666 INFO L290 TraceCheckUtils]: 98: Hoare triple {34643#false} assume !false; {34643#false} is VALID [2022-04-08 05:42:08,666 INFO L290 TraceCheckUtils]: 97: Hoare triple {34643#false} assume 0 == ~cond; {34643#false} is VALID [2022-04-08 05:42:08,667 INFO L290 TraceCheckUtils]: 96: Hoare triple {34643#false} ~cond := #in~cond; {34643#false} is VALID [2022-04-08 05:42:08,667 INFO L272 TraceCheckUtils]: 95: Hoare triple {34643#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34643#false} is VALID [2022-04-08 05:42:08,667 INFO L290 TraceCheckUtils]: 94: Hoare triple {34959#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {34643#false} is VALID [2022-04-08 05:42:08,667 INFO L290 TraceCheckUtils]: 93: Hoare triple {34963#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34959#(< |main_#t~post6| 50)} is VALID [2022-04-08 05:42:08,668 INFO L290 TraceCheckUtils]: 92: Hoare triple {34963#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,668 INFO L290 TraceCheckUtils]: 91: Hoare triple {34963#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,668 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34642#true} {34963#(< ~counter~0 50)} #72#return; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,668 INFO L290 TraceCheckUtils]: 89: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L290 TraceCheckUtils]: 88: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L290 TraceCheckUtils]: 87: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L272 TraceCheckUtils]: 86: Hoare triple {34963#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34642#true} {34963#(< ~counter~0 50)} #70#return; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,669 INFO L290 TraceCheckUtils]: 84: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L290 TraceCheckUtils]: 83: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L290 TraceCheckUtils]: 82: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,669 INFO L272 TraceCheckUtils]: 81: Hoare triple {34963#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,670 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34642#true} {34963#(< ~counter~0 50)} #68#return; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,670 INFO L290 TraceCheckUtils]: 79: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,670 INFO L290 TraceCheckUtils]: 78: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,670 INFO L290 TraceCheckUtils]: 77: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,670 INFO L272 TraceCheckUtils]: 76: Hoare triple {34963#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,670 INFO L290 TraceCheckUtils]: 75: Hoare triple {34963#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,672 INFO L290 TraceCheckUtils]: 74: Hoare triple {35021#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34963#(< ~counter~0 50)} is VALID [2022-04-08 05:42:08,672 INFO L290 TraceCheckUtils]: 73: Hoare triple {35021#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,672 INFO L290 TraceCheckUtils]: 72: Hoare triple {35021#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,673 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34642#true} {35021#(< ~counter~0 49)} #72#return; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,673 INFO L290 TraceCheckUtils]: 70: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,673 INFO L290 TraceCheckUtils]: 69: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,673 INFO L290 TraceCheckUtils]: 68: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,673 INFO L272 TraceCheckUtils]: 67: Hoare triple {35021#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,673 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34642#true} {35021#(< ~counter~0 49)} #70#return; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,673 INFO L290 TraceCheckUtils]: 65: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,673 INFO L290 TraceCheckUtils]: 64: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L290 TraceCheckUtils]: 63: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L272 TraceCheckUtils]: 62: Hoare triple {35021#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34642#true} {35021#(< ~counter~0 49)} #68#return; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,674 INFO L290 TraceCheckUtils]: 60: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L290 TraceCheckUtils]: 59: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L290 TraceCheckUtils]: 58: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,674 INFO L272 TraceCheckUtils]: 57: Hoare triple {35021#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,678 INFO L290 TraceCheckUtils]: 56: Hoare triple {35021#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,679 INFO L290 TraceCheckUtils]: 55: Hoare triple {35079#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35021#(< ~counter~0 49)} is VALID [2022-04-08 05:42:08,679 INFO L290 TraceCheckUtils]: 54: Hoare triple {35079#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,680 INFO L290 TraceCheckUtils]: 53: Hoare triple {35079#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,680 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34642#true} {35079#(< ~counter~0 48)} #72#return; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,680 INFO L290 TraceCheckUtils]: 51: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,680 INFO L290 TraceCheckUtils]: 50: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,680 INFO L290 TraceCheckUtils]: 49: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,681 INFO L272 TraceCheckUtils]: 48: Hoare triple {35079#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,681 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34642#true} {35079#(< ~counter~0 48)} #70#return; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,681 INFO L290 TraceCheckUtils]: 46: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,681 INFO L272 TraceCheckUtils]: 43: Hoare triple {35079#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,682 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34642#true} {35079#(< ~counter~0 48)} #68#return; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,682 INFO L272 TraceCheckUtils]: 38: Hoare triple {35079#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {35079#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,683 INFO L290 TraceCheckUtils]: 36: Hoare triple {35137#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35079#(< ~counter~0 48)} is VALID [2022-04-08 05:42:08,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {35137#(< ~counter~0 47)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,684 INFO L290 TraceCheckUtils]: 34: Hoare triple {35137#(< ~counter~0 47)} assume !!(~a~0 != ~b~0); {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,685 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34642#true} {35137#(< ~counter~0 47)} #72#return; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,685 INFO L272 TraceCheckUtils]: 29: Hoare triple {35137#(< ~counter~0 47)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,685 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34642#true} {35137#(< ~counter~0 47)} #70#return; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L272 TraceCheckUtils]: 24: Hoare triple {35137#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34642#true} {35137#(< ~counter~0 47)} #68#return; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,686 INFO L290 TraceCheckUtils]: 22: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L290 TraceCheckUtils]: 21: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,686 INFO L272 TraceCheckUtils]: 19: Hoare triple {35137#(< ~counter~0 47)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {35137#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {35195#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35137#(< ~counter~0 47)} is VALID [2022-04-08 05:42:08,688 INFO L290 TraceCheckUtils]: 16: Hoare triple {35195#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,688 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34642#true} {35195#(< ~counter~0 46)} #66#return; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 13: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 12: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L272 TraceCheckUtils]: 11: Hoare triple {35195#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34642#true} {35195#(< ~counter~0 46)} #64#return; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L290 TraceCheckUtils]: 7: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:42:08,689 INFO L272 TraceCheckUtils]: 6: Hoare triple {35195#(< ~counter~0 46)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:42:08,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {35195#(< ~counter~0 46)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {35195#(< ~counter~0 46)} call #t~ret7 := main(); {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35195#(< ~counter~0 46)} {34642#true} #82#return; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {35195#(< ~counter~0 46)} assume true; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {34642#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35195#(< ~counter~0 46)} is VALID [2022-04-08 05:42:08,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {34642#true} call ULTIMATE.init(); {34642#true} is VALID [2022-04-08 05:42:08,691 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-08 05:42:08,691 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:08,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [202428004] [2022-04-08 05:42:08,692 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:08,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1237461660] [2022-04-08 05:42:08,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1237461660] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:08,692 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:08,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 05:42:08,692 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:08,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [55259027] [2022-04-08 05:42:08,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [55259027] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:08,692 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:08,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:08,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1480761837] [2022-04-08 05:42:08,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:08,693 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-08 05:42:08,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:08,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 05:42:08,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:08,766 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:08,766 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:08,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:08,766 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:42:08,767 INFO L87 Difference]: Start difference. First operand 321 states and 389 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 05:42:09,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:09,577 INFO L93 Difference]: Finished difference Result 414 states and 490 transitions. [2022-04-08 05:42:09,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:42:09,577 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-08 05:42:09,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:09,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 05:42:09,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-08 05:42:09,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 05:42:09,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-08 05:42:09,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 110 transitions. [2022-04-08 05:42:09,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:09,727 INFO L225 Difference]: With dead ends: 414 [2022-04-08 05:42:09,727 INFO L226 Difference]: Without dead ends: 391 [2022-04-08 05:42:09,728 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:42:09,728 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 19 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:09,728 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 145 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:09,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 391 states. [2022-04-08 05:42:10,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 391 to 376. [2022-04-08 05:42:10,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:10,194 INFO L82 GeneralOperation]: Start isEquivalent. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-08 05:42:10,194 INFO L74 IsIncluded]: Start isIncluded. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-08 05:42:10,195 INFO L87 Difference]: Start difference. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-08 05:42:10,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:10,205 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-08 05:42:10,205 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-08 05:42:10,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:10,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:10,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-08 05:42:10,207 INFO L87 Difference]: Start difference. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-08 05:42:10,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:10,216 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-08 05:42:10,216 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-08 05:42:10,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:10,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:10,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:10,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:10,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-08 05:42:10,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 436 transitions. [2022-04-08 05:42:10,229 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 436 transitions. Word has length 99 [2022-04-08 05:42:10,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:10,229 INFO L478 AbstractCegarLoop]: Abstraction has 376 states and 436 transitions. [2022-04-08 05:42:10,229 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 05:42:10,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 376 states and 436 transitions. [2022-04-08 05:42:13,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 436 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:13,935 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 436 transitions. [2022-04-08 05:42:13,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:42:13,936 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:13,936 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:13,953 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:14,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-08 05:42:14,139 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:14,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:14,140 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 9 times [2022-04-08 05:42:14,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:14,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1486927288] [2022-04-08 05:42:14,140 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:14,140 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 10 times [2022-04-08 05:42:14,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:14,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [87982949] [2022-04-08 05:42:14,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:14,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:14,157 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:14,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [179586460] [2022-04-08 05:42:14,157 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:14,157 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:14,158 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:14,158 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:14,159 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-08 05:42:14,219 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:14,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:14,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 05:42:14,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:14,242 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:20,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {37619#true} call ULTIMATE.init(); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {37619#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37619#true} {37619#true} #82#return; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {37619#true} call #t~ret7 := main(); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {37619#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37619#true} {37619#true} #64#return; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L272 TraceCheckUtils]: 11: Hoare triple {37619#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L290 TraceCheckUtils]: 14: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,936 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37619#true} {37619#true} #66#return; {37619#true} is VALID [2022-04-08 05:42:20,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {37619#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,937 INFO L290 TraceCheckUtils]: 17: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,938 INFO L290 TraceCheckUtils]: 18: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,938 INFO L272 TraceCheckUtils]: 19: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,938 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37619#true} {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,938 INFO L272 TraceCheckUtils]: 24: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37619#true} {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,939 INFO L272 TraceCheckUtils]: 29: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 30: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,940 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37619#true} {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {37672#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,942 INFO L290 TraceCheckUtils]: 37: Hoare triple {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,942 INFO L272 TraceCheckUtils]: 38: Hoare triple {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,943 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37619#true} {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,943 INFO L272 TraceCheckUtils]: 43: Hoare triple {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:20,943 INFO L290 TraceCheckUtils]: 45: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,944 INFO L290 TraceCheckUtils]: 46: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,945 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37730#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,945 INFO L272 TraceCheckUtils]: 48: Hoare triple {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,945 INFO L290 TraceCheckUtils]: 49: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,945 INFO L290 TraceCheckUtils]: 50: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,945 INFO L290 TraceCheckUtils]: 51: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,945 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37619#true} {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,946 INFO L290 TraceCheckUtils]: 53: Hoare triple {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:42:20,948 INFO L290 TraceCheckUtils]: 54: Hoare triple {37769#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,949 INFO L290 TraceCheckUtils]: 55: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,950 INFO L290 TraceCheckUtils]: 56: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,950 INFO L272 TraceCheckUtils]: 57: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,950 INFO L290 TraceCheckUtils]: 58: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,950 INFO L290 TraceCheckUtils]: 59: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,950 INFO L290 TraceCheckUtils]: 60: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,951 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37619#true} {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #68#return; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,951 INFO L272 TraceCheckUtils]: 62: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,951 INFO L290 TraceCheckUtils]: 63: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:20,951 INFO L290 TraceCheckUtils]: 64: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,952 INFO L290 TraceCheckUtils]: 65: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,952 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #70#return; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,952 INFO L272 TraceCheckUtils]: 67: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,952 INFO L290 TraceCheckUtils]: 68: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,952 INFO L290 TraceCheckUtils]: 69: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,952 INFO L290 TraceCheckUtils]: 70: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,953 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37619#true} {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #72#return; {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,954 INFO L290 TraceCheckUtils]: 72: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(~a~0 != ~b~0); {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-08 05:42:20,958 INFO L290 TraceCheckUtils]: 73: Hoare triple {37791#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,958 INFO L290 TraceCheckUtils]: 74: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,959 INFO L290 TraceCheckUtils]: 75: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,959 INFO L272 TraceCheckUtils]: 76: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,959 INFO L290 TraceCheckUtils]: 77: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,959 INFO L290 TraceCheckUtils]: 78: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,959 INFO L290 TraceCheckUtils]: 79: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,960 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37619#true} {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #68#return; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,960 INFO L272 TraceCheckUtils]: 81: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,960 INFO L290 TraceCheckUtils]: 82: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:20,961 INFO L290 TraceCheckUtils]: 83: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,961 INFO L290 TraceCheckUtils]: 84: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:20,962 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #70#return; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,962 INFO L272 TraceCheckUtils]: 86: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,962 INFO L290 TraceCheckUtils]: 87: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,962 INFO L290 TraceCheckUtils]: 88: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,962 INFO L290 TraceCheckUtils]: 89: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,962 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37619#true} {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #72#return; {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,963 INFO L290 TraceCheckUtils]: 91: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(~a~0 != ~b~0); {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-08 05:42:20,967 INFO L290 TraceCheckUtils]: 92: Hoare triple {37849#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,968 INFO L290 TraceCheckUtils]: 93: Hoare triple {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,969 INFO L290 TraceCheckUtils]: 94: Hoare triple {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,969 INFO L272 TraceCheckUtils]: 95: Hoare triple {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:42:20,969 INFO L290 TraceCheckUtils]: 96: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:42:20,969 INFO L290 TraceCheckUtils]: 97: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:42:20,969 INFO L290 TraceCheckUtils]: 98: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:42:20,970 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37619#true} {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #68#return; {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:20,974 INFO L272 TraceCheckUtils]: 100: Hoare triple {37907#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:20,975 INFO L290 TraceCheckUtils]: 101: Hoare triple {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37936#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:20,975 INFO L290 TraceCheckUtils]: 102: Hoare triple {37936#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37620#false} is VALID [2022-04-08 05:42:20,975 INFO L290 TraceCheckUtils]: 103: Hoare triple {37620#false} assume !false; {37620#false} is VALID [2022-04-08 05:42:20,976 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 77 proven. 97 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-08 05:42:20,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:43:10,390 INFO L290 TraceCheckUtils]: 103: Hoare triple {37620#false} assume !false; {37620#false} is VALID [2022-04-08 05:43:10,390 INFO L290 TraceCheckUtils]: 102: Hoare triple {37936#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37620#false} is VALID [2022-04-08 05:43:10,391 INFO L290 TraceCheckUtils]: 101: Hoare triple {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37936#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:10,391 INFO L272 TraceCheckUtils]: 100: Hoare triple {37952#(= 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)); {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:10,392 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37619#true} {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:10,392 INFO L290 TraceCheckUtils]: 98: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,392 INFO L290 TraceCheckUtils]: 97: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,392 INFO L290 TraceCheckUtils]: 96: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,392 INFO L272 TraceCheckUtils]: 95: Hoare triple {37952#(= 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)); {37619#true} is VALID [2022-04-08 05:43:10,392 INFO L290 TraceCheckUtils]: 94: Hoare triple {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:10,393 INFO L290 TraceCheckUtils]: 93: Hoare triple {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:10,556 INFO L290 TraceCheckUtils]: 92: Hoare triple {37977#(= (+ main_~a~0 (* (- 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; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:10,557 INFO L290 TraceCheckUtils]: 91: Hoare triple {37977#(= (+ main_~a~0 (* (- 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); {37977#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:43:10,558 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37619#true} {37977#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {37977#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:43:10,558 INFO L290 TraceCheckUtils]: 89: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,558 INFO L290 TraceCheckUtils]: 88: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,558 INFO L290 TraceCheckUtils]: 87: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,558 INFO L272 TraceCheckUtils]: 86: Hoare triple {37977#(= (+ main_~a~0 (* (- 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)); {37619#true} is VALID [2022-04-08 05:43:10,559 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {37977#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:43:10,559 INFO L290 TraceCheckUtils]: 84: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:10,559 INFO L290 TraceCheckUtils]: 83: Hoare triple {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:10,560 INFO L290 TraceCheckUtils]: 82: Hoare triple {37619#true} ~cond := #in~cond; {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:43:10,560 INFO L272 TraceCheckUtils]: 81: Hoare triple {37999#(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)); {37619#true} is VALID [2022-04-08 05:43:10,560 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37619#true} {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:43:10,560 INFO L290 TraceCheckUtils]: 79: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,560 INFO L290 TraceCheckUtils]: 78: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,560 INFO L290 TraceCheckUtils]: 77: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,561 INFO L272 TraceCheckUtils]: 76: Hoare triple {37999#(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)); {37619#true} is VALID [2022-04-08 05:43:10,561 INFO L290 TraceCheckUtils]: 75: Hoare triple {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:43:10,562 INFO L290 TraceCheckUtils]: 74: Hoare triple {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:43:10,648 INFO L290 TraceCheckUtils]: 73: Hoare triple {38037#(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; {37999#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:43:10,649 INFO L290 TraceCheckUtils]: 72: Hoare triple {38037#(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); {38037#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:43:10,650 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37619#true} {38037#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {38037#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:43:10,650 INFO L290 TraceCheckUtils]: 70: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,650 INFO L290 TraceCheckUtils]: 69: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,650 INFO L290 TraceCheckUtils]: 68: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,650 INFO L272 TraceCheckUtils]: 67: Hoare triple {38037#(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)); {37619#true} is VALID [2022-04-08 05:43:10,652 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37619#true} #70#return; {38037#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 05:43:10,652 INFO L290 TraceCheckUtils]: 65: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:10,653 INFO L290 TraceCheckUtils]: 64: Hoare triple {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:10,653 INFO L290 TraceCheckUtils]: 63: Hoare triple {37619#true} ~cond := #in~cond; {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:43:10,653 INFO L272 TraceCheckUtils]: 62: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,653 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:43:10,653 INFO L290 TraceCheckUtils]: 60: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,653 INFO L290 TraceCheckUtils]: 59: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,653 INFO L290 TraceCheckUtils]: 58: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,653 INFO L272 TraceCheckUtils]: 57: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {37619#true} assume !!(#t~post6 < 50);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 55: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 54: Hoare triple {37619#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 53: Hoare triple {37619#true} assume !!(~a~0 != ~b~0); {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37619#true} {37619#true} #72#return; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 51: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 50: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 49: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L272 TraceCheckUtils]: 48: Hoare triple {37619#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37619#true} {37619#true} #70#return; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 46: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,654 INFO L290 TraceCheckUtils]: 45: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L272 TraceCheckUtils]: 43: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 40: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L272 TraceCheckUtils]: 38: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {37619#true} assume !!(#t~post6 < 50);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 35: Hoare triple {37619#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 34: Hoare triple {37619#true} assume !!(~a~0 != ~b~0); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37619#true} {37619#true} #72#return; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,655 INFO L272 TraceCheckUtils]: 29: Hoare triple {37619#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37619#true} {37619#true} #70#return; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L272 TraceCheckUtils]: 24: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L272 TraceCheckUtils]: 19: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {37619#true} assume !!(#t~post6 < 50);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 16: Hoare triple {37619#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37619#true} {37619#true} #66#return; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,656 INFO L272 TraceCheckUtils]: 11: Hoare triple {37619#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37619#true} {37619#true} #64#return; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {37619#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {37619#true} call #t~ret7 := main(); {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37619#true} {37619#true} #82#return; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {37619#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {37619#true} call ULTIMATE.init(); {37619#true} is VALID [2022-04-08 05:43:10,657 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 108 proven. 27 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-08 05:43:10,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:10,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [87982949] [2022-04-08 05:43:10,658 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:43:10,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [179586460] [2022-04-08 05:43:10,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [179586460] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:43:10,658 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:43:10,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 05:43:10,658 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:10,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1486927288] [2022-04-08 05:43:10,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1486927288] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:10,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:10,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 05:43:10,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [89287259] [2022-04-08 05:43:10,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:10,659 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-08 05:43:10,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:10,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:43:10,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:10,775 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 05:43:10,775 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:10,775 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 05:43:10,775 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:43:10,775 INFO L87 Difference]: Start difference. First operand 376 states and 436 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:43:14,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:14,876 INFO L93 Difference]: Finished difference Result 403 states and 475 transitions. [2022-04-08 05:43:14,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:43:14,876 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-08 05:43:14,876 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:14,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:43:14,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-08 05:43:14,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:43:14,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-08 05:43:14,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-04-08 05:43:15,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:15,081 INFO L225 Difference]: With dead ends: 403 [2022-04-08 05:43:15,081 INFO L226 Difference]: Without dead ends: 401 [2022-04-08 05:43:15,081 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 189 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=69, Invalid=273, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:43:15,081 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 14 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 609 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 620 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 609 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:15,082 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 290 Invalid, 620 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 609 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 05:43:15,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 401 states. [2022-04-08 05:43:15,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 401 to 385. [2022-04-08 05:43:15,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:15,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-08 05:43:15,583 INFO L74 IsIncluded]: Start isIncluded. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-08 05:43:15,584 INFO L87 Difference]: Start difference. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-08 05:43:15,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:15,593 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-08 05:43:15,593 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-08 05:43:15,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:15,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:15,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-08 05:43:15,595 INFO L87 Difference]: Start difference. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-08 05:43:15,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:15,602 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-08 05:43:15,602 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-08 05:43:15,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:15,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:15,603 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:15,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:15,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-08 05:43:15,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 385 states to 385 states and 448 transitions. [2022-04-08 05:43:15,612 INFO L78 Accepts]: Start accepts. Automaton has 385 states and 448 transitions. Word has length 104 [2022-04-08 05:43:15,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:15,612 INFO L478 AbstractCegarLoop]: Abstraction has 385 states and 448 transitions. [2022-04-08 05:43:15,612 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:43:15,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 385 states and 448 transitions. [2022-04-08 05:43:19,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 448 edges. 448 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:19,863 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 448 transitions. [2022-04-08 05:43:19,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:43:19,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:19,864 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:43:19,881 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-08 05:43:20,067 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-08 05:43:20,067 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:20,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:20,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 19 times [2022-04-08 05:43:20,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:20,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1206375011] [2022-04-08 05:43:20,068 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:20,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 20 times [2022-04-08 05:43:20,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:20,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [158640783] [2022-04-08 05:43:20,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:20,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:20,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:43:20,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [262206690] [2022-04-08 05:43:20,078 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:43:20,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:20,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:20,079 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:43:20,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-08 05:43:20,139 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:43:20,139 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:43:20,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 05:43:20,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:20,161 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:43:22,102 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:43:22,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {40641#true} call ULTIMATE.init(); {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {40641#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40641#true} {40641#true} #82#return; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {40641#true} call #t~ret7 := main(); {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {40641#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40641#true} {40641#true} #64#return; {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L272 TraceCheckUtils]: 11: Hoare triple {40641#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,169 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40641#true} {40641#true} #66#return; {40641#true} is VALID [2022-04-08 05:43:22,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {40641#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,170 INFO L290 TraceCheckUtils]: 18: Hoare triple {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,170 INFO L272 TraceCheckUtils]: 19: Hoare triple {40694#(and (= main_~r~0 0) (= 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)); {40641#true} is VALID [2022-04-08 05:43:22,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,171 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40641#true} {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,171 INFO L272 TraceCheckUtils]: 24: Hoare triple {40694#(and (= main_~r~0 0) (= 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)); {40641#true} is VALID [2022-04-08 05:43:22,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,172 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40641#true} {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,172 INFO L272 TraceCheckUtils]: 29: Hoare triple {40694#(and (= main_~r~0 0) (= 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)); {40641#true} is VALID [2022-04-08 05:43:22,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,173 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40641#true} {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {40694#(and (= main_~r~0 0) (= 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); {40694#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {40694#(and (= main_~r~0 0) (= 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; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,176 INFO L290 TraceCheckUtils]: 37: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,176 INFO L272 TraceCheckUtils]: 38: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,176 INFO L290 TraceCheckUtils]: 39: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,176 INFO L290 TraceCheckUtils]: 41: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,177 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40641#true} {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,177 INFO L272 TraceCheckUtils]: 43: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,177 INFO L290 TraceCheckUtils]: 44: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,177 INFO L290 TraceCheckUtils]: 45: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,177 INFO L290 TraceCheckUtils]: 46: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,178 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40641#true} {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,178 INFO L272 TraceCheckUtils]: 48: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,178 INFO L290 TraceCheckUtils]: 49: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,178 INFO L290 TraceCheckUtils]: 50: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,178 INFO L290 TraceCheckUtils]: 51: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,179 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40641#true} {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,179 INFO L290 TraceCheckUtils]: 53: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:43:22,181 INFO L290 TraceCheckUtils]: 54: Hoare triple {40752#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,181 INFO L290 TraceCheckUtils]: 55: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,182 INFO L290 TraceCheckUtils]: 56: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,182 INFO L272 TraceCheckUtils]: 57: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,182 INFO L290 TraceCheckUtils]: 58: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,182 INFO L290 TraceCheckUtils]: 59: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,182 INFO L290 TraceCheckUtils]: 60: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,183 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40641#true} {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,183 INFO L272 TraceCheckUtils]: 62: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~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)); {40641#true} is VALID [2022-04-08 05:43:22,183 INFO L290 TraceCheckUtils]: 63: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,183 INFO L290 TraceCheckUtils]: 64: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,183 INFO L290 TraceCheckUtils]: 65: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,184 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40641#true} {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,184 INFO L272 TraceCheckUtils]: 67: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~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)); {40641#true} is VALID [2022-04-08 05:43:22,184 INFO L290 TraceCheckUtils]: 68: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,184 INFO L290 TraceCheckUtils]: 69: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,185 INFO L290 TraceCheckUtils]: 70: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,185 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40641#true} {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:43:22,186 INFO L290 TraceCheckUtils]: 72: Hoare triple {40810#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {40865#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:22,187 INFO L290 TraceCheckUtils]: 73: Hoare triple {40865#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (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; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,188 INFO L290 TraceCheckUtils]: 74: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,189 INFO L290 TraceCheckUtils]: 75: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,189 INFO L272 TraceCheckUtils]: 76: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,189 INFO L290 TraceCheckUtils]: 77: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,189 INFO L290 TraceCheckUtils]: 78: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,189 INFO L290 TraceCheckUtils]: 79: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,190 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40641#true} {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,190 INFO L272 TraceCheckUtils]: 81: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,190 INFO L290 TraceCheckUtils]: 82: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,190 INFO L290 TraceCheckUtils]: 83: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,190 INFO L290 TraceCheckUtils]: 84: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,191 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40641#true} {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,191 INFO L272 TraceCheckUtils]: 86: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,191 INFO L290 TraceCheckUtils]: 87: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,191 INFO L290 TraceCheckUtils]: 88: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,191 INFO L290 TraceCheckUtils]: 89: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,192 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40641#true} {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,193 INFO L290 TraceCheckUtils]: 91: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:43:22,195 INFO L290 TraceCheckUtils]: 92: Hoare triple {40869#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:43:22,196 INFO L290 TraceCheckUtils]: 93: Hoare triple {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:43:22,197 INFO L290 TraceCheckUtils]: 94: Hoare triple {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:43:22,197 INFO L272 TraceCheckUtils]: 95: Hoare triple {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:22,197 INFO L290 TraceCheckUtils]: 96: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:22,197 INFO L290 TraceCheckUtils]: 97: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:22,197 INFO L290 TraceCheckUtils]: 98: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:22,198 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40641#true} {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-08 05:43:22,200 INFO L272 TraceCheckUtils]: 100: Hoare triple {40927#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:22,201 INFO L290 TraceCheckUtils]: 101: Hoare triple {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40956#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:22,201 INFO L290 TraceCheckUtils]: 102: Hoare triple {40956#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40642#false} is VALID [2022-04-08 05:43:22,201 INFO L290 TraceCheckUtils]: 103: Hoare triple {40642#false} assume !false; {40642#false} is VALID [2022-04-08 05:43:22,202 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-08 05:43:22,202 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:43:24,265 INFO L290 TraceCheckUtils]: 103: Hoare triple {40642#false} assume !false; {40642#false} is VALID [2022-04-08 05:43:24,265 INFO L290 TraceCheckUtils]: 102: Hoare triple {40956#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40642#false} is VALID [2022-04-08 05:43:24,266 INFO L290 TraceCheckUtils]: 101: Hoare triple {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40956#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:24,266 INFO L272 TraceCheckUtils]: 100: Hoare triple {40972#(= 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)); {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:24,267 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40641#true} {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:24,267 INFO L290 TraceCheckUtils]: 98: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:24,267 INFO L290 TraceCheckUtils]: 97: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:24,267 INFO L290 TraceCheckUtils]: 96: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:24,267 INFO L272 TraceCheckUtils]: 95: Hoare triple {40972#(= 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)); {40641#true} is VALID [2022-04-08 05:43:24,267 INFO L290 TraceCheckUtils]: 94: Hoare triple {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:24,268 INFO L290 TraceCheckUtils]: 93: Hoare triple {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:24,800 INFO L290 TraceCheckUtils]: 92: Hoare triple {40997#(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; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:24,801 INFO L290 TraceCheckUtils]: 91: Hoare triple {40997#(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); {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:24,801 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40641#true} {40997#(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)))} #72#return; {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:24,801 INFO L290 TraceCheckUtils]: 89: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:24,801 INFO L290 TraceCheckUtils]: 88: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:24,801 INFO L290 TraceCheckUtils]: 87: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:24,801 INFO L272 TraceCheckUtils]: 86: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:43:24,802 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40641#true} {40997#(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)))} #70#return; {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:24,802 INFO L290 TraceCheckUtils]: 84: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:24,802 INFO L290 TraceCheckUtils]: 83: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:24,802 INFO L290 TraceCheckUtils]: 82: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:24,802 INFO L272 TraceCheckUtils]: 81: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:43:24,803 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40641#true} {40997#(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)))} #68#return; {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:24,803 INFO L290 TraceCheckUtils]: 79: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:24,803 INFO L290 TraceCheckUtils]: 78: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:24,803 INFO L290 TraceCheckUtils]: 77: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:24,803 INFO L272 TraceCheckUtils]: 76: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:43:24,804 INFO L290 TraceCheckUtils]: 75: Hoare triple {40997#(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 !!(#t~post6 < 50);havoc #t~post6; {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:24,804 INFO L290 TraceCheckUtils]: 74: Hoare triple {40997#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40997#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:26,807 WARN L290 TraceCheckUtils]: 73: Hoare triple {41055#(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; {40997#(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 UNKNOWN [2022-04-08 05:43:26,808 INFO L290 TraceCheckUtils]: 72: Hoare triple {41059#(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); {41055#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:26,808 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40641#true} {41059#(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))))} #72#return; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:26,808 INFO L290 TraceCheckUtils]: 70: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L290 TraceCheckUtils]: 69: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L290 TraceCheckUtils]: 68: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L272 TraceCheckUtils]: 67: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40641#true} {41059#(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))))} #70#return; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:26,809 INFO L290 TraceCheckUtils]: 65: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L290 TraceCheckUtils]: 64: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:26,809 INFO L290 TraceCheckUtils]: 63: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:26,810 INFO L272 TraceCheckUtils]: 62: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:43:26,810 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40641#true} {41059#(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))))} #68#return; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:26,810 INFO L290 TraceCheckUtils]: 60: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:26,810 INFO L290 TraceCheckUtils]: 59: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:26,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:26,810 INFO L272 TraceCheckUtils]: 57: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:43:26,811 INFO L290 TraceCheckUtils]: 56: Hoare triple {41059#(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 !!(#t~post6 < 50);havoc #t~post6; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:26,811 INFO L290 TraceCheckUtils]: 55: Hoare triple {41059#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:28,574 INFO L290 TraceCheckUtils]: 54: Hoare triple {41114#(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; {41059#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:43:28,575 INFO L290 TraceCheckUtils]: 53: Hoare triple {41114#(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); {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,575 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40641#true} {41114#(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))))} #72#return; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,575 INFO L290 TraceCheckUtils]: 50: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,575 INFO L272 TraceCheckUtils]: 48: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:43:28,576 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40641#true} {41114#(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))))} #70#return; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,576 INFO L290 TraceCheckUtils]: 46: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,576 INFO L290 TraceCheckUtils]: 45: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,576 INFO L290 TraceCheckUtils]: 44: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,576 INFO L272 TraceCheckUtils]: 43: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:43:28,577 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40641#true} {41114#(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))))} #68#return; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,577 INFO L290 TraceCheckUtils]: 41: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,577 INFO L272 TraceCheckUtils]: 38: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:43:28,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {41114#(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 !!(#t~post6 < 50);havoc #t~post6; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {41114#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {41172#(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; {41114#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 05:43:28,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {41172#(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); {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,660 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40641#true} {41172#(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)))} #72#return; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,660 INFO L290 TraceCheckUtils]: 32: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,660 INFO L290 TraceCheckUtils]: 31: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,661 INFO L272 TraceCheckUtils]: 29: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:43:28,661 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40641#true} {41172#(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)))} #70#return; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,661 INFO L272 TraceCheckUtils]: 24: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:43:28,662 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40641#true} {41172#(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)))} #68#return; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,662 INFO L272 TraceCheckUtils]: 19: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:43:28,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {41172#(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 !!(#t~post6 < 50);havoc #t~post6; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,663 INFO L290 TraceCheckUtils]: 17: Hoare triple {41172#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 16: Hoare triple {40641#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41172#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 05:43:28,664 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40641#true} {40641#true} #66#return; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L272 TraceCheckUtils]: 11: Hoare triple {40641#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40641#true} {40641#true} #64#return; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {40641#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:43:28,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {40641#true} call #t~ret7 := main(); {40641#true} is VALID [2022-04-08 05:43:28,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40641#true} {40641#true} #82#return; {40641#true} is VALID [2022-04-08 05:43:28,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:43:28,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {40641#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40641#true} is VALID [2022-04-08 05:43:28,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {40641#true} call ULTIMATE.init(); {40641#true} is VALID [2022-04-08 05:43:28,665 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-08 05:43:28,665 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:28,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [158640783] [2022-04-08 05:43:28,665 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:43:28,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [262206690] [2022-04-08 05:43:28,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [262206690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:43:28,666 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:43:28,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 05:43:28,666 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:28,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1206375011] [2022-04-08 05:43:28,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1206375011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:28,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:28,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:43:28,666 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [80472799] [2022-04-08 05:43:28,666 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:28,667 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 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 104 [2022-04-08 05:43:28,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:28,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:28,744 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:28,744 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:43:28,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:28,745 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:43:28,745 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:43:28,745 INFO L87 Difference]: Start difference. First operand 385 states and 448 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:31,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:31,771 INFO L93 Difference]: Finished difference Result 433 states and 509 transitions. [2022-04-08 05:43:31,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:43:31,771 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 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 104 [2022-04-08 05:43:31,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:31,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:31,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-08 05:43:31,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:31,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-08 05:43:31,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 108 transitions. [2022-04-08 05:43:31,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:31,935 INFO L225 Difference]: With dead ends: 433 [2022-04-08 05:43:31,936 INFO L226 Difference]: Without dead ends: 431 [2022-04-08 05:43:31,936 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:43:31,936 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 10 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 464 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 321 SdHoareTripleChecker+Invalid, 476 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 464 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:31,937 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 321 Invalid, 476 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 464 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 05:43:31,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-08 05:43:32,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 415. [2022-04-08 05:43:32,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:32,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-08 05:43:32,498 INFO L74 IsIncluded]: Start isIncluded. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-08 05:43:32,499 INFO L87 Difference]: Start difference. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-08 05:43:32,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:32,510 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-08 05:43:32,510 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-08 05:43:32,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:32,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:32,512 INFO L74 IsIncluded]: Start isIncluded. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-08 05:43:32,512 INFO L87 Difference]: Start difference. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-08 05:43:32,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:32,523 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-08 05:43:32,523 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-08 05:43:32,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:32,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:32,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:32,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:32,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-08 05:43:32,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 482 transitions. [2022-04-08 05:43:32,537 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 482 transitions. Word has length 104 [2022-04-08 05:43:32,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:32,537 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 482 transitions. [2022-04-08 05:43:32,537 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:32,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 482 transitions. [2022-04-08 05:43:38,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 482 edges. 481 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:38,172 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 482 transitions. [2022-04-08 05:43:38,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:43:38,173 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:38,173 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:43:38,190 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-08 05:43:38,373 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-08 05:43:38,374 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:38,374 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:38,374 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 21 times [2022-04-08 05:43:38,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:38,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2000966469] [2022-04-08 05:43:38,374 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:38,374 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 22 times [2022-04-08 05:43:38,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:38,375 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [63942882] [2022-04-08 05:43:38,375 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:38,375 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:38,387 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:43:38,387 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [779685838] [2022-04-08 05:43:38,387 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:43:38,387 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:38,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:38,388 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:43:38,411 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-08 05:43:38,452 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:43:38,453 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:43:38,454 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-08 05:43:38,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:38,470 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:43:39,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {43840#true} call ULTIMATE.init(); {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {43840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43840#true} {43840#true} #82#return; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {43840#true} call #t~ret7 := main(); {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {43840#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43840#true} {43840#true} #64#return; {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L272 TraceCheckUtils]: 11: Hoare triple {43840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,522 INFO L290 TraceCheckUtils]: 12: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,523 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43840#true} {43840#true} #66#return; {43840#true} is VALID [2022-04-08 05:43:39,523 INFO L290 TraceCheckUtils]: 16: Hoare triple {43840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,524 INFO L290 TraceCheckUtils]: 18: Hoare triple {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,524 INFO L272 TraceCheckUtils]: 19: Hoare triple {43893#(and (= main_~r~0 0) (= 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)); {43840#true} is VALID [2022-04-08 05:43:39,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,525 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43840#true} {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,525 INFO L272 TraceCheckUtils]: 24: Hoare triple {43893#(and (= main_~r~0 0) (= 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)); {43840#true} is VALID [2022-04-08 05:43:39,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,525 INFO L290 TraceCheckUtils]: 26: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,526 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,526 INFO L272 TraceCheckUtils]: 29: Hoare triple {43893#(and (= main_~r~0 0) (= 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)); {43840#true} is VALID [2022-04-08 05:43:39,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,526 INFO L290 TraceCheckUtils]: 32: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,527 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43840#true} {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {43893#(and (= main_~r~0 0) (= 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); {43893#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:39,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {43893#(and (= main_~r~0 0) (= 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; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {43953#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,529 INFO L290 TraceCheckUtils]: 37: Hoare triple {43953#(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 !!(#t~post6 < 50);havoc #t~post6; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,529 INFO L272 TraceCheckUtils]: 38: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:43:39,529 INFO L290 TraceCheckUtils]: 39: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,529 INFO L290 TraceCheckUtils]: 40: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,529 INFO L290 TraceCheckUtils]: 41: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,529 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43840#true} {43953#(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)))} #68#return; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,529 INFO L272 TraceCheckUtils]: 43: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:43:39,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,530 INFO L290 TraceCheckUtils]: 45: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,530 INFO L290 TraceCheckUtils]: 46: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,530 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43840#true} {43953#(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)))} #70#return; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,530 INFO L272 TraceCheckUtils]: 48: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:43:39,530 INFO L290 TraceCheckUtils]: 49: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,532 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43953#(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)))} #72#return; {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,532 INFO L290 TraceCheckUtils]: 53: Hoare triple {43953#(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); {43953#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:43:39,533 INFO L290 TraceCheckUtils]: 54: Hoare triple {43953#(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; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,533 INFO L290 TraceCheckUtils]: 55: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,533 INFO L290 TraceCheckUtils]: 56: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,534 INFO L272 TraceCheckUtils]: 57: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~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)); {43840#true} is VALID [2022-04-08 05:43:39,534 INFO L290 TraceCheckUtils]: 58: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,534 INFO L290 TraceCheckUtils]: 59: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,534 INFO L290 TraceCheckUtils]: 60: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,534 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43840#true} {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #68#return; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,534 INFO L272 TraceCheckUtils]: 62: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~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)); {43840#true} is VALID [2022-04-08 05:43:39,535 INFO L290 TraceCheckUtils]: 63: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,535 INFO L290 TraceCheckUtils]: 64: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,535 INFO L290 TraceCheckUtils]: 65: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,536 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #70#return; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,536 INFO L272 TraceCheckUtils]: 67: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~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)); {43840#true} is VALID [2022-04-08 05:43:39,536 INFO L290 TraceCheckUtils]: 68: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,536 INFO L290 TraceCheckUtils]: 69: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,536 INFO L290 TraceCheckUtils]: 70: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,537 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43840#true} {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #72#return; {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,537 INFO L290 TraceCheckUtils]: 72: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 05:43:39,538 INFO L290 TraceCheckUtils]: 73: Hoare triple {44011#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~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; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,539 INFO L290 TraceCheckUtils]: 74: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,539 INFO L290 TraceCheckUtils]: 75: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,539 INFO L272 TraceCheckUtils]: 76: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,539 INFO L290 TraceCheckUtils]: 77: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,539 INFO L290 TraceCheckUtils]: 78: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,540 INFO L290 TraceCheckUtils]: 79: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,540 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43840#true} {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #68#return; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,540 INFO L272 TraceCheckUtils]: 81: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,540 INFO L290 TraceCheckUtils]: 82: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,541 INFO L290 TraceCheckUtils]: 83: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,541 INFO L290 TraceCheckUtils]: 84: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,542 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #70#return; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,542 INFO L272 TraceCheckUtils]: 86: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,542 INFO L290 TraceCheckUtils]: 87: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,542 INFO L290 TraceCheckUtils]: 88: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,542 INFO L290 TraceCheckUtils]: 89: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:39,543 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #72#return; {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,543 INFO L290 TraceCheckUtils]: 91: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(~a~0 != ~b~0); {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-08 05:43:39,545 INFO L290 TraceCheckUtils]: 92: Hoare triple {44069#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~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; {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-08 05:43:39,546 INFO L290 TraceCheckUtils]: 93: Hoare triple {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-08 05:43:39,546 INFO L290 TraceCheckUtils]: 94: Hoare triple {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-08 05:43:39,546 INFO L272 TraceCheckUtils]: 95: Hoare triple {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:39,546 INFO L290 TraceCheckUtils]: 96: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:39,546 INFO L290 TraceCheckUtils]: 97: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:39,546 INFO L290 TraceCheckUtils]: 98: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:39,547 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43840#true} {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #68#return; {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-08 05:43:39,548 INFO L272 TraceCheckUtils]: 100: Hoare triple {44127#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:39,549 INFO L290 TraceCheckUtils]: 101: Hoare triple {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:39,549 INFO L290 TraceCheckUtils]: 102: Hoare triple {44156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43841#false} is VALID [2022-04-08 05:43:39,549 INFO L290 TraceCheckUtils]: 103: Hoare triple {43841#false} assume !false; {43841#false} is VALID [2022-04-08 05:43:39,550 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 93 proven. 111 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-08 05:43:39,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:44:32,854 INFO L290 TraceCheckUtils]: 103: Hoare triple {43841#false} assume !false; {43841#false} is VALID [2022-04-08 05:44:32,855 INFO L290 TraceCheckUtils]: 102: Hoare triple {44156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43841#false} is VALID [2022-04-08 05:44:32,855 INFO L290 TraceCheckUtils]: 101: Hoare triple {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:32,856 INFO L272 TraceCheckUtils]: 100: Hoare triple {44172#(= 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)); {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:44:32,857 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43840#true} {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:44:32,857 INFO L290 TraceCheckUtils]: 98: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:32,857 INFO L290 TraceCheckUtils]: 97: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:32,857 INFO L290 TraceCheckUtils]: 96: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:32,857 INFO L272 TraceCheckUtils]: 95: Hoare triple {44172#(= 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)); {43840#true} is VALID [2022-04-08 05:44:32,857 INFO L290 TraceCheckUtils]: 94: Hoare triple {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:44:32,858 INFO L290 TraceCheckUtils]: 93: Hoare triple {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:44:33,550 INFO L290 TraceCheckUtils]: 92: Hoare triple {44197#(= (+ main_~a~0 (* (- 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; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:44:33,551 INFO L290 TraceCheckUtils]: 91: Hoare triple {44197#(= (+ main_~a~0 (* (- 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); {44197#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:44:33,552 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44204#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {44197#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 05:44:33,552 INFO L290 TraceCheckUtils]: 89: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:33,552 INFO L290 TraceCheckUtils]: 88: Hoare triple {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:33,553 INFO L290 TraceCheckUtils]: 87: Hoare triple {43840#true} ~cond := #in~cond; {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:44:33,553 INFO L272 TraceCheckUtils]: 86: Hoare triple {44204#(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)); {43840#true} is VALID [2022-04-08 05:44:33,555 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43840#true} #70#return; {44204#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:44:33,555 INFO L290 TraceCheckUtils]: 84: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 83: Hoare triple {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 82: Hoare triple {43840#true} ~cond := #in~cond; {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:44:33,556 INFO L272 TraceCheckUtils]: 81: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 79: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 78: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 77: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L272 TraceCheckUtils]: 76: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 75: Hoare triple {43840#true} assume !!(#t~post6 < 50);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 74: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 73: Hoare triple {43840#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L290 TraceCheckUtils]: 72: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:44:33,556 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 70: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 69: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 68: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L272 TraceCheckUtils]: 67: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 65: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 64: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 63: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L272 TraceCheckUtils]: 62: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 60: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 59: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 58: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L272 TraceCheckUtils]: 57: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {43840#true} assume !!(#t~post6 < 50);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 55: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {43840#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {43840#true} is VALID [2022-04-08 05:44:33,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 51: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 50: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L272 TraceCheckUtils]: 48: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 46: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 45: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 44: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L272 TraceCheckUtils]: 43: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L272 TraceCheckUtils]: 38: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 37: Hoare triple {43840#true} assume !!(#t~post6 < 50);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 36: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {43840#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {43840#true} is VALID [2022-04-08 05:44:33,558 INFO L290 TraceCheckUtils]: 34: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 32: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 31: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 30: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L272 TraceCheckUtils]: 29: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 27: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 26: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L272 TraceCheckUtils]: 24: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 22: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 21: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L272 TraceCheckUtils]: 19: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {43840#true} assume !!(#t~post6 < 50);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L290 TraceCheckUtils]: 16: Hoare triple {43840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43840#true} is VALID [2022-04-08 05:44:33,559 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43840#true} {43840#true} #66#return; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L272 TraceCheckUtils]: 11: Hoare triple {43840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43840#true} {43840#true} #64#return; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {43840#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {43840#true} call #t~ret7 := main(); {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43840#true} {43840#true} #82#return; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {43840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43840#true} is VALID [2022-04-08 05:44:33,560 INFO L272 TraceCheckUtils]: 0: Hoare triple {43840#true} call ULTIMATE.init(); {43840#true} is VALID [2022-04-08 05:44:33,561 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 109 proven. 8 refuted. 0 times theorem prover too weak. 283 trivial. 0 not checked. [2022-04-08 05:44:33,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:44:33,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [63942882] [2022-04-08 05:44:33,561 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:44:33,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [779685838] [2022-04-08 05:44:33,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [779685838] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:44:33,561 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:44:33,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 05:44:33,561 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:44:33,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2000966469] [2022-04-08 05:44:33,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2000966469] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:44:33,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:44:33,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:44:33,561 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [785705564] [2022-04-08 05:44:33,561 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:44:33,562 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 05:44:33,562 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:44:33,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:44:33,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:33,644 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:44:33,644 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:33,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:44:33,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:44:33,645 INFO L87 Difference]: Start difference. First operand 415 states and 482 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:44:37,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:37,192 INFO L93 Difference]: Finished difference Result 462 states and 538 transitions. [2022-04-08 05:44:37,192 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:44:37,192 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 05:44:37,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:44:37,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:44:37,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-08 05:44:37,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:44:37,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-08 05:44:37,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 108 transitions. [2022-04-08 05:44:37,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:37,369 INFO L225 Difference]: With dead ends: 462 [2022-04-08 05:44:37,369 INFO L226 Difference]: Without dead ends: 460 [2022-04-08 05:44:37,370 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 189 SyntacticMatches, 5 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:44:37,375 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 15 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 588 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 274 SdHoareTripleChecker+Invalid, 601 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 588 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:44:37,375 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 274 Invalid, 601 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 588 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 05:44:37,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 460 states. [2022-04-08 05:44:37,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 460 to 406. [2022-04-08 05:44:37,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:44:37,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:44:37,939 INFO L74 IsIncluded]: Start isIncluded. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:44:37,940 INFO L87 Difference]: Start difference. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:44:37,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:37,951 INFO L93 Difference]: Finished difference Result 460 states and 536 transitions. [2022-04-08 05:44:37,951 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 536 transitions. [2022-04-08 05:44:37,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:37,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:37,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) Second operand 460 states. [2022-04-08 05:44:37,953 INFO L87 Difference]: Start difference. First operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) Second operand 460 states. [2022-04-08 05:44:37,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:37,965 INFO L93 Difference]: Finished difference Result 460 states and 536 transitions. [2022-04-08 05:44:37,965 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 536 transitions. [2022-04-08 05:44:37,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:37,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:37,966 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:44:37,966 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:44:37,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:44:37,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 406 states to 406 states and 468 transitions. [2022-04-08 05:44:37,980 INFO L78 Accepts]: Start accepts. Automaton has 406 states and 468 transitions. Word has length 104 [2022-04-08 05:44:37,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:44:37,980 INFO L478 AbstractCegarLoop]: Abstraction has 406 states and 468 transitions. [2022-04-08 05:44:37,980 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:44:37,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 406 states and 468 transitions. [2022-04-08 05:44:41,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 468 edges. 468 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:41,812 INFO L276 IsEmpty]: Start isEmpty. Operand 406 states and 468 transitions. [2022-04-08 05:44:41,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:44:41,812 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:44:41,813 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:44:41,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-08 05:44:42,013 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-08 05:44:42,013 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:44:42,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:44:42,013 INFO L85 PathProgramCache]: Analyzing trace with hash 560866636, now seen corresponding path program 23 times [2022-04-08 05:44:42,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:42,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1357600757] [2022-04-08 05:44:42,014 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:44:42,014 INFO L85 PathProgramCache]: Analyzing trace with hash 560866636, now seen corresponding path program 24 times [2022-04-08 05:44:42,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:44:42,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665461195] [2022-04-08 05:44:42,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:44:42,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:44:42,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:44:42,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1488121379] [2022-04-08 05:44:42,023 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:44:42,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:44:42,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:44:42,024 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:44:42,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-08 05:44:42,460 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 05:44:42,460 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:44:42,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 201 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 05:44:42,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:44:42,485 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:44:45,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {47138#true} call ULTIMATE.init(); {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {47138#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47138#true} {47138#true} #82#return; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {47138#true} call #t~ret7 := main(); {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {47138#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; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {47138#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47138#true} {47138#true} #64#return; {47138#true} is VALID [2022-04-08 05:44:45,302 INFO L272 TraceCheckUtils]: 11: Hoare triple {47138#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,302 INFO L290 TraceCheckUtils]: 12: Hoare triple {47138#true} ~cond := #in~cond; {47179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:44:45,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {47179#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {47183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:45,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {47183#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {47183#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:45,303 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {47183#(not (= |assume_abort_if_not_#in~cond| 0))} {47138#true} #66#return; {47190#(<= 1 main_~y~0)} is VALID [2022-04-08 05:44:45,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {47190#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,304 INFO L290 TraceCheckUtils]: 17: Hoare triple {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,304 INFO L272 TraceCheckUtils]: 19: Hoare triple {47194#(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)); {47138#true} is VALID [2022-04-08 05:44:45,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,305 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {47138#true} {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,305 INFO L272 TraceCheckUtils]: 24: Hoare triple {47194#(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)); {47138#true} is VALID [2022-04-08 05:44:45,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,310 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {47138#true} {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,310 INFO L272 TraceCheckUtils]: 29: Hoare triple {47194#(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)); {47138#true} is VALID [2022-04-08 05:44:45,310 INFO L290 TraceCheckUtils]: 30: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,310 INFO L290 TraceCheckUtils]: 31: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,311 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {47138#true} {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {47194#(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); {47194#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,313 INFO L290 TraceCheckUtils]: 35: Hoare triple {47194#(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; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,314 INFO L290 TraceCheckUtils]: 37: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,314 INFO L272 TraceCheckUtils]: 38: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,314 INFO L290 TraceCheckUtils]: 40: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,314 INFO L290 TraceCheckUtils]: 41: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,315 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #68#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,316 INFO L272 TraceCheckUtils]: 43: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 44: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 45: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 46: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #70#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,316 INFO L272 TraceCheckUtils]: 48: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 49: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 50: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,316 INFO L290 TraceCheckUtils]: 51: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,317 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #72#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,317 INFO L290 TraceCheckUtils]: 53: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,318 INFO L290 TraceCheckUtils]: 54: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,318 INFO L290 TraceCheckUtils]: 55: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,319 INFO L290 TraceCheckUtils]: 56: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,319 INFO L272 TraceCheckUtils]: 57: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,319 INFO L290 TraceCheckUtils]: 58: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,319 INFO L290 TraceCheckUtils]: 59: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,319 INFO L290 TraceCheckUtils]: 60: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #68#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,320 INFO L272 TraceCheckUtils]: 62: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 63: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 64: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 65: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #70#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,320 INFO L272 TraceCheckUtils]: 67: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 68: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 69: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,320 INFO L290 TraceCheckUtils]: 70: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,321 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {47138#true} {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #72#return; {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,321 INFO L290 TraceCheckUtils]: 72: Hoare triple {47252#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {47364#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:44:45,323 INFO L290 TraceCheckUtils]: 73: Hoare triple {47364#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,323 INFO L290 TraceCheckUtils]: 74: Hoare triple {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,323 INFO L290 TraceCheckUtils]: 75: Hoare triple {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,323 INFO L272 TraceCheckUtils]: 76: Hoare triple {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~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)); {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 77: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 78: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 79: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {47138#true} {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,324 INFO L272 TraceCheckUtils]: 81: Hoare triple {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~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)); {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 82: Hoare triple {47138#true} ~cond := #in~cond; {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 83: Hoare triple {47138#true} assume !(0 == ~cond); {47138#true} is VALID [2022-04-08 05:44:45,324 INFO L290 TraceCheckUtils]: 84: Hoare triple {47138#true} assume true; {47138#true} is VALID [2022-04-08 05:44:45,325 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {47138#true} {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} #70#return; {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,325 INFO L272 TraceCheckUtils]: 86: Hoare triple {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~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)); {47138#true} is VALID [2022-04-08 05:44:45,325 INFO L290 TraceCheckUtils]: 87: Hoare triple {47138#true} ~cond := #in~cond; {47411#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:45,326 INFO L290 TraceCheckUtils]: 88: Hoare triple {47411#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:45,326 INFO L290 TraceCheckUtils]: 89: Hoare triple {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:45,327 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} {47368#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} #72#return; {47422#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,327 INFO L290 TraceCheckUtils]: 91: Hoare triple {47422#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {47422#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:44:45,328 INFO L290 TraceCheckUtils]: 92: Hoare triple {47422#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (< 0 main_~b~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; {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,329 INFO L290 TraceCheckUtils]: 93: Hoare triple {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,329 INFO L290 TraceCheckUtils]: 94: Hoare triple {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:44:45,330 INFO L272 TraceCheckUtils]: 95: Hoare triple {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {47138#true} is VALID [2022-04-08 05:44:45,330 INFO L290 TraceCheckUtils]: 96: Hoare triple {47138#true} ~cond := #in~cond; {47411#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:45,330 INFO L290 TraceCheckUtils]: 97: Hoare triple {47411#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:45,330 INFO L290 TraceCheckUtils]: 98: Hoare triple {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:45,335 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {47415#(not (= |__VERIFIER_assert_#in~cond| 0))} {47429#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< (+ main_~a~0 main_~y~0) main_~x~0) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} #68#return; {47451#(and (< (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} is VALID [2022-04-08 05:44:45,336 INFO L272 TraceCheckUtils]: 100: Hoare triple {47451#(and (< (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {47455#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:44:45,336 INFO L290 TraceCheckUtils]: 101: Hoare triple {47455#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {47459#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:45,336 INFO L290 TraceCheckUtils]: 102: Hoare triple {47459#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {47139#false} is VALID [2022-04-08 05:44:45,336 INFO L290 TraceCheckUtils]: 103: Hoare triple {47139#false} assume !false; {47139#false} is VALID [2022-04-08 05:44:45,337 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 107 proven. 40 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2022-04-08 05:44:45,337 INFO L328 TraceCheckSpWp]: Computing backward predicates...