/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/egcd3-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 08:54:54,060 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 08:54:54,061 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 08:54:54,094 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 08:54:54,094 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 08:54:54,095 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 08:54:54,098 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 08:54:54,099 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 08:54:54,101 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 08:54:54,104 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 08:54:54,105 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 08:54:54,106 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 08:54:54,106 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 08:54:54,107 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 08:54:54,108 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 08:54:54,110 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 08:54:54,111 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 08:54:54,111 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 08:54:54,113 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 08:54:54,117 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 08:54:54,118 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 08:54:54,119 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 08:54:54,119 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 08:54:54,120 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 08:54:54,121 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 08:54:54,125 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 08:54:54,125 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 08:54:54,126 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 08:54:54,126 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 08:54:54,126 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 08:54:54,127 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 08:54:54,127 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 08:54:54,129 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 08:54:54,129 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 08:54:54,129 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 08:54:54,130 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 08:54:54,130 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 08:54:54,130 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 08:54:54,130 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 08:54:54,131 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 08:54:54,131 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 08:54:54,132 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 08:54:54,133 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 08:54:54,141 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 08:54:54,141 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 08:54:54,142 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 08:54:54,142 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 08:54:54,143 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 08:54:54,143 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:54:54,144 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 08:54:54,144 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 08:54:54,322 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 08:54:54,342 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 08:54:54,344 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 08:54:54,344 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 08:54:54,345 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 08:54:54,346 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-15 08:54:54,386 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/732b41cc5/c28dec77c0ff4b239ae2fdb85bf9fdc5/FLAGc186551d0 [2022-04-15 08:54:54,757 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 08:54:54,758 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-15 08:54:54,768 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/732b41cc5/c28dec77c0ff4b239ae2fdb85bf9fdc5/FLAGc186551d0 [2022-04-15 08:54:54,779 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/732b41cc5/c28dec77c0ff4b239ae2fdb85bf9fdc5 [2022-04-15 08:54:54,781 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 08:54:54,782 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 08:54:54,784 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 08:54:54,784 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 08:54:54,787 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 08:54:54,788 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:54:54" (1/1) ... [2022-04-15 08:54:54,789 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@534241f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:54, skipping insertion in model container [2022-04-15 08:54:54,789 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:54:54" (1/1) ... [2022-04-15 08:54:54,793 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 08:54:54,805 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 08:54:54,954 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/egcd3-ll_valuebound20.c[490,503] [2022-04-15 08:54:54,983 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:54:54,987 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 08:54:54,999 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/egcd3-ll_valuebound20.c[490,503] [2022-04-15 08:54:55,020 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:54:55,029 INFO L208 MainTranslator]: Completed translation [2022-04-15 08:54:55,029 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55 WrapperNode [2022-04-15 08:54:55,029 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 08:54:55,030 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 08:54:55,030 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 08:54:55,030 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 08:54:55,037 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,037 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,043 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,044 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,059 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,062 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,062 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,063 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 08:54:55,064 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 08:54:55,064 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 08:54:55,064 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 08:54:55,068 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (1/1) ... [2022-04-15 08:54:55,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:54:55,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:55,093 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 08:54:55,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 08:54:55,126 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 08:54:55,126 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 08:54:55,126 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 08:54:55,127 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 08:54:55,127 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 08:54:55,127 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 08:54:55,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 08:54:55,129 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 08:54:55,129 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 08:54:55,170 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 08:54:55,172 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 08:54:55,297 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 08:54:55,301 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 08:54:55,301 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 08:54:55,302 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:54:55 BoogieIcfgContainer [2022-04-15 08:54:55,303 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 08:54:55,304 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 08:54:55,304 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 08:54:55,306 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 08:54:55,306 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 08:54:54" (1/3) ... [2022-04-15 08:54:55,306 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f11c3ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:54:55, skipping insertion in model container [2022-04-15 08:54:55,306 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:55" (2/3) ... [2022-04-15 08:54:55,307 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f11c3ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:54:55, skipping insertion in model container [2022-04-15 08:54:55,307 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:54:55" (3/3) ... [2022-04-15 08:54:55,308 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound20.c [2022-04-15 08:54:55,310 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 08:54:55,310 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 08:54:55,335 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 08:54:55,339 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 08:54:55,339 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 08:54:55,360 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:54:55,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:54:55,365 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:55,365 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:55,365 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:55,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:55,368 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 08:54:55,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:55,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2026133256] [2022-04-15 08:54:55,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:55,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 08:54:55,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:55,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [908598157] [2022-04-15 08:54:55,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:55,383 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:55,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,489 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:54:55,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,503 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 08:54:55,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:54:55,504 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:54:55,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:54:55,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:54:55,511 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 08:54:55,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,517 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:54:55,518 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 08:54:55,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:54:55,524 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 08:54:55,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,530 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:54:55,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 08:54:55,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 08:54:55,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:54:55,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:54:55,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 08:54:55,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-15 08:54:55,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:55,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,533 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:54:55,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-15 08:54:55,533 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:55,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,534 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:54:55,534 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:55,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,535 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:54:55,535 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:55,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:55,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:55,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:55,536 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:54:55,536 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-15 08:54:55,536 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 08:54:55,536 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-15 08:54:55,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 08:54:55,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 08:54:55,537 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 08:54:55,537 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:54:55,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:55,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [908598157] [2022-04-15 08:54:55,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [908598157] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:55,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:55,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:54:55,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:55,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2026133256] [2022-04-15 08:54:55,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2026133256] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:55,541 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:55,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:54:55,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [831986825] [2022-04-15 08:54:55,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:55,545 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:54:55,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:55,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:55,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:55,571 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 08:54:55,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:55,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 08:54:55,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:54:55,586 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 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 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:55,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:55,696 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 08:54:55,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 08:54:55,697 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:54:55,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:55,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:55,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:54:55,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:55,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:54:55,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 08:54:55,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:55,826 INFO L225 Difference]: With dead ends: 73 [2022-04-15 08:54:55,826 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 08:54:55,829 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:54:55,831 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:55,831 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:54:55,840 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 08:54:55,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 08:54:55,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:55,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:54:55,852 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:54:55,852 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:54:55,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:55,861 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:54:55,862 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:55,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:55,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:55,864 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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 35 states. [2022-04-15 08:54:55,865 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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 35 states. [2022-04-15 08:54:55,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:55,872 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:54:55,872 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:55,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:55,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:55,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:55,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:55,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:54:55,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 08:54:55,880 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 08:54:55,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:55,881 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 08:54:55,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:55,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 08:54:55,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:55,935 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:55,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 08:54:55,937 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:55,937 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:55,937 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 08:54:55,937 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:55,939 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:55,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 08:54:55,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:55,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [458929013] [2022-04-15 08:54:55,942 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:55,943 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 08:54:55,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:55,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [149368691] [2022-04-15 08:54:55,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:55,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:55,980 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:55,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2062168749] [2022-04-15 08:54:55,981 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:55,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:55,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:55,991 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:54:55,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 08:54:56,037 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 08:54:56,037 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:56,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 08:54:56,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:56,064 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:56,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 08:54:56,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-15 08:54:56,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:56,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 08:54:56,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 08:54:56,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-15 08:54:56,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:56,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:56,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:56,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:56,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 08:54:56,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-15 08:54:56,328 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:56,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:56,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:56,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:56,329 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 08:54:56,329 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:56,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:56,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:56,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:56,330 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 08:54:56,330 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:56,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:56,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:56,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:56,330 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 08:54:56,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:56,333 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:56,334 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:56,335 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:56,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:56,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 08:54:56,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 08:54:56,337 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:54:56,337 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:54:56,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:56,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [149368691] [2022-04-15 08:54:56,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:56,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2062168749] [2022-04-15 08:54:56,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2062168749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:56,338 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:56,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:54:56,339 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:56,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [458929013] [2022-04-15 08:54:56,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [458929013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:56,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:56,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:54:56,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383573772] [2022-04-15 08:54:56,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:56,340 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 08:54:56,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:56,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:54:56,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:56,361 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:54:56,365 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:56,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:54:56,366 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:54:56,366 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:54:56,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,651 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 08:54:56,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:54:56,651 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 08:54:56,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:56,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:54:56,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:54:56,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:54:56,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:54:56,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 08:54:56,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:56,710 INFO L225 Difference]: With dead ends: 54 [2022-04-15 08:54:56,710 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 08:54:56,710 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:54:56,711 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:56,711 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:54:56,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 08:54:56,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 08:54:56,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:56,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:56,721 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:56,722 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:56,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,724 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:54:56,724 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:54:56,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:56,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:56,725 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 08:54:56,725 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 08:54:56,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,728 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:54:56,728 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:54:56,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:56,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:56,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:56,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:56,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:56,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 08:54:56,731 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 08:54:56,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:56,731 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 08:54:56,731 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:54:56,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 08:54:56,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:56,791 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 08:54:56,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 08:54:56,791 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:56,791 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:56,808 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 08:54:57,007 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:57,007 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:57,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:57,008 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 08:54:57,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:57,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487840326] [2022-04-15 08:54:57,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:57,009 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 08:54:57,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:57,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [543967336] [2022-04-15 08:54:57,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:57,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:57,039 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:57,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1571444823] [2022-04-15 08:54:57,039 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:57,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:57,040 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:57,049 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:54:57,050 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 08:54:57,111 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:57,111 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:57,112 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:54:57,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:57,123 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:57,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:54:57,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 08:54:57,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:54:57,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:54:57,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 08:54:57,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:54:57,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 08:54:57,294 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,296 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:54:57,297 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:57,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:57,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:57,303 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:57,303 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,303 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,304 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:57,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:57,306 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:57,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,309 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:57,317 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:57,320 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:54:57,320 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 08:54:57,320 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:54:57,320 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:54:57,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:54:57,320 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 08:54:57,321 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:57,586 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:54:57,586 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:54:57,587 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:54:57,587 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 08:54:57,587 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:54:57,588 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:57,588 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:57,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,589 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,589 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:57,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:57,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:57,603 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:57,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,604 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,605 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:57,605 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:57,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:57,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:57,606 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,606 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:54:57,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,607 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 08:54:57,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:54:57,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:57,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:57,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:57,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 08:54:57,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:54:57,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:54:57,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:57,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 08:54:57,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:54:57,608 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 08:54:57,609 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:57,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [543967336] [2022-04-15 08:54:57,609 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:57,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1571444823] [2022-04-15 08:54:57,609 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1571444823] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:57,609 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:57,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:54:57,610 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:57,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487840326] [2022-04-15 08:54:57,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487840326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:57,610 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:57,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:54:57,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [421123496] [2022-04-15 08:54:57,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:57,610 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 08:54:57,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:57,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:57,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:57,631 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:54:57,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:57,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:54:57,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:54:57,632 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:58,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:58,239 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 08:54:58,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:54:58,239 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 08:54:58,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:58,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:58,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:58,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:58,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:58,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 08:54:58,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:58,336 INFO L225 Difference]: With dead ends: 103 [2022-04-15 08:54:58,336 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 08:54:58,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:54:58,337 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:58,337 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:54:58,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 08:54:58,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 08:54:58,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:58,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:58,420 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:58,420 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:58,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:58,424 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:58,424 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:58,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:58,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:58,425 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 08:54:58,425 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 08:54:58,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:58,429 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:58,429 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:58,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:58,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:58,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:58,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:58,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:58,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 08:54:58,432 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 08:54:58,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:58,432 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 08:54:58,432 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:58,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 08:54:58,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:58,539 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 08:54:58,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 08:54:58,540 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:58,540 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:58,574 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 08:54:58,774 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 08:54:58,775 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:58,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:58,775 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 08:54:58,775 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:58,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [166303101] [2022-04-15 08:54:58,776 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:58,776 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 08:54:58,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:58,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958967855] [2022-04-15 08:54:58,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:58,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:58,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:58,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1900962386] [2022-04-15 08:54:58,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:58,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:58,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:58,798 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:54:58,799 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 08:54:58,843 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:58,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:58,844 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:54:58,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:58,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:59,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:59,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 08:54:59,443 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:59,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:59,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:59,444 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,445 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,445 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:59,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:59,446 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:59,446 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,446 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,446 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,446 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,447 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,447 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:54:59,448 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:54:59,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:54:59,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:54:59,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:54:59,450 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,450 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,451 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,455 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,455 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:54:59,456 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:59,456 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:59,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:59,457 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:59,457 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 08:54:59,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:59,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:59,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:59,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:59,813 INFO L272 TraceCheckUtils]: 38: Hoare triple {1714#(= 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)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:59,814 INFO L290 TraceCheckUtils]: 37: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:54:59,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:54:59,815 INFO L290 TraceCheckUtils]: 35: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 08:54:59,815 INFO L290 TraceCheckUtils]: 34: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 08:54:59,816 INFO L290 TraceCheckUtils]: 33: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 08:54:59,816 INFO L290 TraceCheckUtils]: 32: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 08:54:59,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:59,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:59,817 INFO L290 TraceCheckUtils]: 29: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:59,818 INFO L290 TraceCheckUtils]: 28: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !false; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-15 08:54:59,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {1566#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-15 08:54:59,818 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-15 08:54:59,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L272 TraceCheckUtils]: 22: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L272 TraceCheckUtils]: 17: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:59,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:59,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 08:54:59,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:59,821 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:54:59,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:59,821 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958967855] [2022-04-15 08:54:59,821 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:59,821 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1900962386] [2022-04-15 08:54:59,821 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1900962386] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:59,821 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:59,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 08:54:59,822 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:59,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [166303101] [2022-04-15 08:54:59,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [166303101] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:59,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:59,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:54:59,822 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1709138520] [2022-04-15 08:54:59,822 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:59,823 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 08:54:59,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:59,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:59,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:59,850 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:54:59,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:59,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:54:59,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:54:59,850 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:55:01,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:01,008 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-15 08:55:01,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 08:55:01,009 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 08:55:01,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:01,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:55:01,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 08:55:01,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:55:01,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 08:55:01,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-15 08:55:01,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:01,112 INFO L225 Difference]: With dead ends: 112 [2022-04-15 08:55:01,113 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 08:55:01,113 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-15 08:55:01,113 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 414 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:01,114 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 245 Invalid, 414 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 08:55:01,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 08:55:01,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-15 08:55:01,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:01,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:55:01,262 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:55:01,262 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:55:01,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:01,266 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 08:55:01,266 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 08:55:01,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:01,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:01,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-15 08:55:01,267 INFO L87 Difference]: Start difference. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-15 08:55:01,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:01,279 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 08:55:01,279 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 08:55:01,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:01,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:01,279 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:01,279 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:01,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:55:01,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-15 08:55:01,282 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-15 08:55:01,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:01,282 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-15 08:55:01,283 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:55:01,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-15 08:55:01,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:01,407 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-15 08:55:01,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:55:01,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:01,408 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:55:01,426 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 08:55:01,608 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:01,609 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:01,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:01,609 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 08:55:01,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:01,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [507636023] [2022-04-15 08:55:01,610 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:01,610 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 08:55:01,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:01,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [413944601] [2022-04-15 08:55:01,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:01,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:01,629 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:01,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [602649105] [2022-04-15 08:55:01,630 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:55:01,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:01,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:01,631 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:55:01,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 08:55:01,672 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:55:01,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:01,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 08:55:01,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:01,685 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:01,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 08:55:01,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-15 08:55:01,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-15 08:55:01,972 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:01,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:01,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:01,974 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} {2475#true} #96#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:55:01,974 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:55:01,975 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:01,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:01,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,976 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:55:01,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 08:55:01,977 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 08:55:01,977 INFO L290 TraceCheckUtils]: 29: Hoare triple {2564#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,978 INFO L272 TraceCheckUtils]: 33: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:01,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:01,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,979 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,980 INFO L272 TraceCheckUtils]: 38: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:01,980 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:01,980 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:01,980 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:01,981 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:01,981 INFO L272 TraceCheckUtils]: 43: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:01,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:01,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 08:55:01,982 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 08:55:01,982 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 08:55:01,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:55:02,229 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 08:55:02,230 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 08:55:02,230 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:02,231 INFO L272 TraceCheckUtils]: 43: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:02,232 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,232 INFO L272 TraceCheckUtils]: 38: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,233 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,233 INFO L272 TraceCheckUtils]: 33: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,234 INFO L290 TraceCheckUtils]: 32: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {2475#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {2475#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2475#true} is VALID [2022-04-15 08:55:02,235 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,235 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L272 TraceCheckUtils]: 22: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 08:55:02,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-15 08:55:02,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 08:55:02,239 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:55:02,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:55:02,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [413944601] [2022-04-15 08:55:02,239 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:55:02,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [602649105] [2022-04-15 08:55:02,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [602649105] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:55:02,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:55:02,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 08:55:02,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:55:02,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [507636023] [2022-04-15 08:55:02,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [507636023] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:55:02,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:55:02,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:55:02,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [978465455] [2022-04-15 08:55:02,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:55:02,241 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 08:55:02,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:55:02,241 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:55:02,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:02,264 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:55:02,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:02,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:55:02,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:55:02,264 INFO L87 Difference]: Start difference. First operand 93 states and 122 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:55:02,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:02,627 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-15 08:55:02,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:55:02,627 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 08:55:02,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:02,627 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:55:02,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:55:02,629 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:55:02,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:55:02,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:55:02,672 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-15 08:55:02,674 INFO L225 Difference]: With dead ends: 130 [2022-04-15 08:55:02,674 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 08:55:02,674 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 08:55:02,675 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:02,675 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:55:02,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 08:55:02,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-15 08:55:02,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:02,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:55:02,886 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:55:02,886 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:55:02,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:02,890 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 08:55:02,890 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 08:55:02,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:02,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:02,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-15 08:55:02,891 INFO L87 Difference]: Start difference. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-15 08:55:02,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:02,895 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 08:55:02,895 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 08:55:02,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:02,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:02,896 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:02,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:02,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:55:02,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-15 08:55:02,900 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-15 08:55:02,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:02,900 INFO L478 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-15 08:55:02,900 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:55:02,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-15 08:55:03,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:03,083 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-15 08:55:03,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:55:03,083 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:03,083 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:55:03,100 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 08:55:03,284 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:03,284 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:03,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:03,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-15 08:55:03,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:03,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [971523545] [2022-04-15 08:55:03,285 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:03,285 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-15 08:55:03,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:03,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1686234766] [2022-04-15 08:55:03,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:03,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:03,302 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:03,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1542624694] [2022-04-15 08:55:03,302 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:55:03,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:03,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:03,303 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:55:03,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 08:55:03,348 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:55:03,348 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:03,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 08:55:03,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:03,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:11,819 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-15 08:55:11,820 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:55:11,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:11,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:11,822 INFO L290 TraceCheckUtils]: 15: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:11,822 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3530#true} #96#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:55:11,822 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:55:11,822 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:55:11,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:55:11,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:55:11,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 08:55:11,823 INFO L272 TraceCheckUtils]: 22: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:55:11,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:11,824 INFO L290 TraceCheckUtils]: 24: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:11,824 INFO L290 TraceCheckUtils]: 25: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:11,824 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,825 INFO L290 TraceCheckUtils]: 27: Hoare triple {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:55:11,825 INFO L290 TraceCheckUtils]: 28: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:55:11,825 INFO L290 TraceCheckUtils]: 29: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:55:11,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:55:11,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:55:11,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,832 INFO L290 TraceCheckUtils]: 33: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,833 INFO L290 TraceCheckUtils]: 34: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,835 INFO L272 TraceCheckUtils]: 38: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:55:11,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:55:11,835 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:55:11,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:55:11,840 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} #102#return; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 08:55:11,841 INFO L272 TraceCheckUtils]: 43: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:11,841 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:11,841 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 08:55:11,842 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 08:55:11,842 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 11 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 08:55:11,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:56:38,278 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 08:56:38,279 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 08:56:38,279 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:38,280 INFO L272 TraceCheckUtils]: 43: Hoare triple {3691#(= 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)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:38,281 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:38,281 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:38,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:56:38,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:56:38,281 INFO L272 TraceCheckUtils]: 38: Hoare triple {3691#(= 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)); {3530#true} is VALID [2022-04-15 08:56:38,281 INFO L290 TraceCheckUtils]: 37: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:38,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:38,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:38,282 INFO L290 TraceCheckUtils]: 34: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:38,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:56:40,284 WARN L290 TraceCheckUtils]: 32: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 08:56:40,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !(~c~0 >= ~b~0); {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 08:56:40,285 INFO L290 TraceCheckUtils]: 30: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !false; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 08:56:40,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 08:56:40,286 INFO L290 TraceCheckUtils]: 28: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:56:40,286 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:56:40,286 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-15 08:56:40,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:40,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:56:40,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:56:40,286 INFO L272 TraceCheckUtils]: 22: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L272 TraceCheckUtils]: 17: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-15 08:56:40,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 08:56:40,288 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:56:40,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:40,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1686234766] [2022-04-15 08:56:40,289 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:40,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542624694] [2022-04-15 08:56:40,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542624694] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:56:40,289 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:56:40,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-15 08:56:40,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:40,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [971523545] [2022-04-15 08:56:40,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [971523545] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:40,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:40,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 08:56:40,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [968640748] [2022-04-15 08:56:40,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:40,290 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-15 08:56:40,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:40,290 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), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:56:40,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:40,318 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 08:56:40,318 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:40,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 08:56:40,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:56:40,319 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:56:41,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:41,494 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-15 08:56:41,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:56:41,494 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-15 08:56:41,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:41,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:56:41,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 08:56:41,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:56:41,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 08:56:41,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 101 transitions. [2022-04-15 08:56:41,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:41,586 INFO L225 Difference]: With dead ends: 137 [2022-04-15 08:56:41,586 INFO L226 Difference]: Without dead ends: 135 [2022-04-15 08:56:41,586 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:56:41,587 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 58 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:41,587 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [70 Valid, 231 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 253 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 08:56:41,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-15 08:56:41,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-15 08:56:41,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:41,859 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:56:41,860 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:56:41,860 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:56:41,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:41,865 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 08:56:41,865 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 08:56:41,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:41,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:41,866 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-15 08:56:41,866 INFO L87 Difference]: Start difference. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-15 08:56:41,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:41,870 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 08:56:41,870 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 08:56:41,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:41,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:41,871 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:41,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:41,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:56:41,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-15 08:56:41,875 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-15 08:56:41,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:41,875 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-15 08:56:41,875 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:56:41,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-15 08:56:42,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:42,083 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-15 08:56:42,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:56:42,083 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:42,083 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:56:42,101 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 08:56:42,283 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:42,284 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:42,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:42,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-15 08:56:42,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:42,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1177655147] [2022-04-15 08:56:42,285 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:42,285 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-15 08:56:42,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:42,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229413245] [2022-04-15 08:56:42,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:42,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:42,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:42,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [410435124] [2022-04-15 08:56:42,297 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:56:42,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:42,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:42,298 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:56:42,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 08:56:42,334 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:56:42,334 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:42,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 08:56:42,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:42,342 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:42,408 INFO L272 TraceCheckUtils]: 0: Hoare triple {4637#true} call ULTIMATE.init(); {4637#true} is VALID [2022-04-15 08:56:42,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {4637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4637#true} is VALID [2022-04-15 08:56:42,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4637#true} {4637#true} #112#return; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {4637#true} call #t~ret6 := main(); {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {4637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L272 TraceCheckUtils]: 6: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4637#true} {4637#true} #94#return; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 11: Hoare triple {4637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L272 TraceCheckUtils]: 12: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 08:56:42,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 08:56:42,410 INFO L290 TraceCheckUtils]: 15: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 08:56:42,410 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4637#true} {4637#true} #96#return; {4637#true} is VALID [2022-04-15 08:56:42,410 INFO L272 TraceCheckUtils]: 17: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4637#true} {4637#true} #98#return; {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L272 TraceCheckUtils]: 22: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 08:56:42,415 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4637#true} {4637#true} #100#return; {4637#true} is VALID [2022-04-15 08:56:42,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {4637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4637#true} is VALID [2022-04-15 08:56:42,416 INFO L290 TraceCheckUtils]: 28: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-15 08:56:42,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {4637#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4637#true} is VALID [2022-04-15 08:56:42,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-15 08:56:42,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {4637#true} assume !(~c~0 >= ~b~0); {4735#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:56:42,420 INFO L290 TraceCheckUtils]: 32: Hoare triple {4735#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:42,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !false; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:42,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:42,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !false; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {4638#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 38: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 39: Hoare triple {4638#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 40: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 41: Hoare triple {4638#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 42: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L272 TraceCheckUtils]: 43: Hoare triple {4638#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 44: Hoare triple {4638#false} ~cond := #in~cond; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {4638#false} assume 0 == ~cond; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L290 TraceCheckUtils]: 46: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 08:56:42,425 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:56:42,426 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:56:42,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:42,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229413245] [2022-04-15 08:56:42,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:42,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [410435124] [2022-04-15 08:56:42,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [410435124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:42,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:42,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:56:42,427 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:42,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1177655147] [2022-04-15 08:56:42,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1177655147] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:42,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:42,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:56:42,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474894353] [2022-04-15 08:56:42,427 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:42,428 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-15 08:56:42,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:42,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:56:42,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:42,450 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:56:42,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:42,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:56:42,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:56:42,450 INFO L87 Difference]: Start difference. First operand 131 states and 178 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:56:42,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:42,870 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-15 08:56:42,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:56:42,871 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-15 08:56:42,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:42,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:56:42,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 08:56:42,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:56:42,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 08:56:42,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-15 08:56:42,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:42,944 INFO L225 Difference]: With dead ends: 170 [2022-04-15 08:56:42,944 INFO L226 Difference]: Without dead ends: 114 [2022-04-15 08:56:42,945 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-15 08:56:42,945 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:42,945 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:56:42,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-15 08:56:43,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-15 08:56:43,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:43,149 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 08:56:43,149 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 08:56:43,149 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 08:56:43,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:43,152 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 08:56:43,152 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 08:56:43,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:43,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:43,153 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-15 08:56:43,153 INFO L87 Difference]: Start difference. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-15 08:56:43,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:43,155 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 08:56:43,155 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 08:56:43,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:43,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:43,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:43,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:43,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 08:56:43,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-15 08:56:43,159 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-15 08:56:43,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:43,159 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-15 08:56:43,159 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:56:43,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-15 08:56:43,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:43,363 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-15 08:56:43,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 08:56:43,363 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:43,363 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:56:43,379 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 08:56:43,563 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:43,564 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:43,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:43,564 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 08:56:43,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:43,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2069337529] [2022-04-15 08:56:43,564 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:43,564 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 08:56:43,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:43,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1829410590] [2022-04-15 08:56:43,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:43,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:43,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:43,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1608460741] [2022-04-15 08:56:43,580 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:56:43,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:43,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:43,592 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:56:43,595 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 08:56:43,632 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:56:43,633 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:43,633 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 08:56:43,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:43,642 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:43,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {5567#true} call ULTIMATE.init(); {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#true} {5567#true} #112#return; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#true} call #t~ret6 := main(); {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {5567#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5567#true} {5567#true} #94#return; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {5567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5567#true} is VALID [2022-04-15 08:56:43,776 INFO L272 TraceCheckUtils]: 12: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5567#true} {5567#true} #96#return; {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L272 TraceCheckUtils]: 17: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5567#true} {5567#true} #98#return; {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L272 TraceCheckUtils]: 22: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,779 INFO L290 TraceCheckUtils]: 24: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5567#true} {5567#true} #100#return; {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {5567#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {5567#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5567#true} is VALID [2022-04-15 08:56:43,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-15 08:56:43,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {5567#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:56:43,782 INFO L290 TraceCheckUtils]: 32: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:56:43,782 INFO L272 TraceCheckUtils]: 33: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,782 INFO L290 TraceCheckUtils]: 34: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,783 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:56:43,783 INFO L272 TraceCheckUtils]: 38: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,783 INFO L290 TraceCheckUtils]: 41: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,783 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:56:43,784 INFO L272 TraceCheckUtils]: 43: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 08:56:43,784 INFO L290 TraceCheckUtils]: 44: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 08:56:43,784 INFO L290 TraceCheckUtils]: 45: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 08:56:43,784 INFO L290 TraceCheckUtils]: 46: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 08:56:43,784 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:56:43,785 INFO L272 TraceCheckUtils]: 48: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:43,785 INFO L290 TraceCheckUtils]: 49: Hoare triple {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5721#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:43,785 INFO L290 TraceCheckUtils]: 50: Hoare triple {5721#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5568#false} is VALID [2022-04-15 08:56:43,785 INFO L290 TraceCheckUtils]: 51: Hoare triple {5568#false} assume !false; {5568#false} is VALID [2022-04-15 08:56:43,786 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 08:56:43,786 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:56:43,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:43,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1829410590] [2022-04-15 08:56:43,786 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:43,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1608460741] [2022-04-15 08:56:43,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1608460741] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:43,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:43,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:56:43,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:43,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2069337529] [2022-04-15 08:56:43,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2069337529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:43,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:43,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:56:43,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2304814] [2022-04-15 08:56:43,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:43,787 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 08:56:43,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:43,787 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:56:43,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:43,809 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:56:43,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:43,809 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:56:43,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:56:43,810 INFO L87 Difference]: Start difference. First operand 106 states and 137 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:56:44,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:44,133 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-15 08:56:44,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:56:44,134 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 08:56:44,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:44,134 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:56:44,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:56:44,135 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:56:44,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:56:44,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:56:44,174 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-15 08:56:44,176 INFO L225 Difference]: With dead ends: 158 [2022-04-15 08:56:44,176 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 08:56:44,176 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:56:44,176 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:44,177 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:56:44,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 08:56:44,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-15 08:56:44,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:44,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:56:44,565 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:56:44,565 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:56:44,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:44,570 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 08:56:44,570 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 08:56:44,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:44,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:44,572 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-15 08:56:44,572 INFO L87 Difference]: Start difference. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-15 08:56:44,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:44,578 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 08:56:44,578 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 08:56:44,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:44,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:44,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:44,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:44,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:56:44,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-15 08:56:44,584 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-15 08:56:44,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:44,584 INFO L478 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-15 08:56:44,584 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:56:44,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-15 08:56:44,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:44,840 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-15 08:56:44,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 08:56:44,841 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:44,841 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:56:44,857 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 08:56:45,041 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:45,042 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:45,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:45,042 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 08:56:45,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:45,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1179643128] [2022-04-15 08:56:45,042 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:45,042 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 08:56:45,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:45,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [502193339] [2022-04-15 08:56:45,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:45,043 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:45,053 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:45,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2136623834] [2022-04-15 08:56:45,054 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:56:45,054 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:45,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:45,055 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:56:45,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 08:56:45,125 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:56:45,126 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:45,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-15 08:56:45,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:45,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:45,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-15 08:56:45,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-15 08:56:45,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-15 08:56:45,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-15 08:56:45,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,663 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-15 08:56:45,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,664 INFO L290 TraceCheckUtils]: 28: Hoare triple {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,665 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,666 INFO L290 TraceCheckUtils]: 32: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,666 INFO L272 TraceCheckUtils]: 33: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,673 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,673 INFO L272 TraceCheckUtils]: 38: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,673 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:45,674 INFO L290 TraceCheckUtils]: 40: Hoare triple {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:45,674 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:45,675 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,675 INFO L272 TraceCheckUtils]: 43: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,675 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,675 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,675 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,676 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,676 INFO L272 TraceCheckUtils]: 48: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:45,676 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:45,676 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:45,676 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:45,677 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,677 INFO L290 TraceCheckUtils]: 53: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,678 INFO L290 TraceCheckUtils]: 54: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,678 INFO L290 TraceCheckUtils]: 55: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,678 INFO L290 TraceCheckUtils]: 56: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:56:45,679 INFO L290 TraceCheckUtils]: 57: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 08:56:45,679 INFO L290 TraceCheckUtils]: 58: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 08:56:45,680 INFO L290 TraceCheckUtils]: 59: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-15 08:56:45,680 INFO L272 TraceCheckUtils]: 60: Hoare triple {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:45,681 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:45,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-15 08:56:45,681 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-15 08:56:45,681 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 08:56:45,681 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:56:55,606 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-15 08:56:55,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-15 08:56:55,607 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:55,608 INFO L272 TraceCheckUtils]: 60: Hoare triple {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:55,608 INFO L290 TraceCheckUtils]: 59: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:56:55,609 INFO L290 TraceCheckUtils]: 58: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 08:56:55,836 INFO L290 TraceCheckUtils]: 57: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 08:56:55,836 INFO L290 TraceCheckUtils]: 56: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,837 INFO L290 TraceCheckUtils]: 55: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,855 INFO L290 TraceCheckUtils]: 54: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,855 INFO L290 TraceCheckUtils]: 53: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,856 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,856 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,856 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,856 INFO L272 TraceCheckUtils]: 48: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,857 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,857 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,857 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,857 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,857 INFO L272 TraceCheckUtils]: 43: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,858 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,858 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:55,859 INFO L290 TraceCheckUtils]: 40: Hoare triple {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:55,859 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:56:55,859 INFO L272 TraceCheckUtils]: 38: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {6637#true} is VALID [2022-04-15 08:56:55,860 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,860 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,860 INFO L272 TraceCheckUtils]: 33: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {6637#true} is VALID [2022-04-15 08:56:55,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:55,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 08:56:55,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 08:56:55,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !false; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:56:55,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,864 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-15 08:56:55,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-15 08:56:55,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-15 08:56:55,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 08:56:55,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-15 08:56:55,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-15 08:56:55,868 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 08:56:55,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:55,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [502193339] [2022-04-15 08:56:55,868 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:55,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2136623834] [2022-04-15 08:56:55,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2136623834] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:56:55,869 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:56:55,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-15 08:56:55,869 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:55,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1179643128] [2022-04-15 08:56:55,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1179643128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:55,869 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:55,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 08:56:55,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353750523] [2022-04-15 08:56:55,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:55,870 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-15 08:56:55,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:55,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:55,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:55,907 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 08:56:55,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:55,908 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 08:56:55,908 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-15 08:56:55,908 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:57,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:57,955 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-15 08:56:57,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 08:56:57,955 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-15 08:56:57,955 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:57,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:57,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 08:56:57,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:57,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 08:56:57,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-15 08:56:58,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:58,084 INFO L225 Difference]: With dead ends: 200 [2022-04-15 08:56:58,084 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 08:56:58,085 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=107, Invalid=543, Unknown=0, NotChecked=0, Total=650 [2022-04-15 08:56:58,085 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 54 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 559 mSolverCounterSat, 58 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 617 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 58 IncrementalHoareTripleChecker+Valid, 559 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:58,085 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 275 Invalid, 617 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [58 Valid, 559 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 08:56:58,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 08:56:58,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-15 08:56:58,506 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:58,506 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:56:58,507 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:56:58,507 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:56:58,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:58,512 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 08:56:58,512 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 08:56:58,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:58,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:58,513 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-15 08:56:58,514 INFO L87 Difference]: Start difference. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-15 08:56:58,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:58,518 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 08:56:58,518 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 08:56:58,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:58,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:58,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:58,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:58,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:56:58,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-15 08:56:58,524 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-15 08:56:58,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:58,524 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-15 08:56:58,524 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:58,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-15 08:56:58,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:58,819 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-15 08:56:58,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 08:56:58,831 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:58,831 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:56:58,848 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 08:56:59,047 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 08:56:59,047 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:59,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:59,048 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-15 08:56:59,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:59,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [876209890] [2022-04-15 08:56:59,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:59,048 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-15 08:56:59,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:59,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2097073827] [2022-04-15 08:56:59,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:59,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:59,063 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:59,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1562600809] [2022-04-15 08:56:59,063 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:56:59,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:59,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:59,064 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:56:59,065 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 08:56:59,101 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:56:59,102 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:59,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 08:56:59,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:59,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:59,245 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,247 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 08:56:59,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-15 08:56:59,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 08:56:59,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:56:59,249 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:59,249 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,250 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,251 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,251 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,252 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,252 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,252 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,252 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,252 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,253 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,253 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,253 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,253 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,253 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,253 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,253 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,254 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,254 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,254 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,255 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 08:56:59,255 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 08:56:59,255 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-15 08:56:59,259 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-15 08:56:59,259 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-15 08:56:59,260 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-15 08:56:59,260 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-15 08:56:59,260 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:56:59,260 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:56:59,400 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-15 08:56:59,400 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-15 08:56:59,400 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-15 08:56:59,400 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-15 08:56:59,400 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-15 08:56:59,410 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 08:56:59,410 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 08:56:59,410 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,410 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,411 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 08:56:59,411 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,411 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,412 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,413 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,413 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,413 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,413 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,413 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,414 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,414 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:56:59,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-15 08:56:59,415 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-15 08:56:59,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-15 08:56:59,418 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:56:59,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:59,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2097073827] [2022-04-15 08:56:59,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:59,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1562600809] [2022-04-15 08:56:59,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1562600809] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:56:59,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:56:59,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-15 08:56:59,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:59,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [876209890] [2022-04-15 08:56:59,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [876209890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:59,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:59,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:56:59,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [697667183] [2022-04-15 08:56:59,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:59,421 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 08:56:59,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:59,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:56:59,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:59,442 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:56:59,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:59,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:56:59,442 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:56:59,442 INFO L87 Difference]: Start difference. First operand 193 states and 275 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:00,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:00,705 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-15 08:57:00,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 08:57:00,705 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 08:57:00,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:57:00,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:00,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 08:57:00,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:00,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 08:57:00,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 08:57:00,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:00,847 INFO L225 Difference]: With dead ends: 288 [2022-04-15 08:57:00,847 INFO L226 Difference]: Without dead ends: 281 [2022-04-15 08:57:00,848 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 134 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=249, Unknown=0, NotChecked=0, Total=342 [2022-04-15 08:57:00,848 INFO L913 BasicCegarLoop]: 87 mSDtfsCounter, 46 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 08:57:00,848 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 318 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 280 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 08:57:00,849 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-15 08:57:01,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-15 08:57:01,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:57:01,190 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:01,192 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:01,192 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:01,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:01,213 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 08:57:01,213 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 08:57:01,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:01,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:01,221 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-15 08:57:01,221 INFO L87 Difference]: Start difference. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-15 08:57:01,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:01,245 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 08:57:01,245 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 08:57:01,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:01,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:01,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:57:01,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:57:01,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:01,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-15 08:57:01,252 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-15 08:57:01,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:57:01,252 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-15 08:57:01,252 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:01,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-15 08:57:01,667 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:01,667 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-15 08:57:01,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 08:57:01,667 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:57:01,668 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 08:57:01,696 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 08:57:01,896 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 08:57:01,896 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:57:01,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:57:01,897 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-15 08:57:01,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:01,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1823326938] [2022-04-15 08:57:01,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:57:01,897 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-15 08:57:01,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:57:01,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1528991193] [2022-04-15 08:57:01,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:57:01,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:57:01,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:57:01,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [148737630] [2022-04-15 08:57:01,908 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:57:01,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:57:01,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:57:01,909 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:57:01,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 08:57:01,953 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:57:01,954 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:57:01,954 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 08:57:01,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:57:01,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:57:02,103 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-15 08:57:02,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-15 08:57:02,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-15 08:57:02,103 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-15 08:57:02,103 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,104 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-15 08:57:02,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 08:57:02,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,106 INFO L290 TraceCheckUtils]: 32: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,106 INFO L272 TraceCheckUtils]: 33: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,106 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,106 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,106 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,107 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,107 INFO L272 TraceCheckUtils]: 38: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,107 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,107 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,107 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,108 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,108 INFO L272 TraceCheckUtils]: 43: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,108 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,108 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,108 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,109 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,109 INFO L272 TraceCheckUtils]: 48: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,109 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,109 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,109 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,110 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #108#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:02,110 INFO L290 TraceCheckUtils]: 53: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 08:57:02,111 INFO L290 TraceCheckUtils]: 54: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} assume !false; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 08:57:02,111 INFO L272 TraceCheckUtils]: 55: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,111 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,111 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,111 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,112 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #102#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 08:57:02,112 INFO L272 TraceCheckUtils]: 60: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,112 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,112 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,112 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,113 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #104#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 08:57:02,113 INFO L272 TraceCheckUtils]: 65: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,113 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,113 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,113 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,114 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #106#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 08:57:02,114 INFO L272 TraceCheckUtils]: 70: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:02,115 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:02,115 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-15 08:57:02,115 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-15 08:57:02,115 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 08:57:02,115 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:57:02,354 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-15 08:57:02,354 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-15 08:57:02,355 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:02,356 INFO L272 TraceCheckUtils]: 70: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:02,358 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,358 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,358 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,358 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,358 INFO L272 TraceCheckUtils]: 65: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,363 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,363 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,363 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,363 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,363 INFO L272 TraceCheckUtils]: 60: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,364 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,364 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,364 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,364 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,364 INFO L272 TraceCheckUtils]: 55: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,364 INFO L290 TraceCheckUtils]: 54: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,366 INFO L290 TraceCheckUtils]: 53: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,367 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #108#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,367 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,367 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,367 INFO L272 TraceCheckUtils]: 48: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,368 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,368 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,368 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,368 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,368 INFO L272 TraceCheckUtils]: 43: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,369 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,369 INFO L272 TraceCheckUtils]: 38: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,369 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,370 INFO L272 TraceCheckUtils]: 33: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 32: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:57:02,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,371 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-15 08:57:02,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 08:57:02,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-15 08:57:02,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-15 08:57:02,373 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 113 trivial. 0 not checked. [2022-04-15 08:57:02,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:57:02,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1528991193] [2022-04-15 08:57:02,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:57:02,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [148737630] [2022-04-15 08:57:02,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [148737630] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:57:02,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:57:02,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-15 08:57:02,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:57:02,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1823326938] [2022-04-15 08:57:02,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1823326938] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:57:02,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:57:02,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:57:02,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1041534756] [2022-04-15 08:57:02,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:57:02,374 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-15 08:57:02,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:57:02,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:02,402 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:02,403 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:57:02,403 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:02,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:57:02,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-15 08:57:02,403 INFO L87 Difference]: Start difference. First operand 208 states and 296 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:03,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:03,066 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-15 08:57:03,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:57:03,066 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-15 08:57:03,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:57:03,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:03,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:57:03,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:03,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:57:03,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 08:57:03,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:03,109 INFO L225 Difference]: With dead ends: 214 [2022-04-15 08:57:03,109 INFO L226 Difference]: Without dead ends: 212 [2022-04-15 08:57:03,109 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 140 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:57:03,109 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:57:03,110 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:57:03,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-15 08:57:03,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-15 08:57:03,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:57:03,544 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:03,544 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:03,545 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:03,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:03,549 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 08:57:03,549 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:57:03,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:03,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:03,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-15 08:57:03,551 INFO L87 Difference]: Start difference. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-15 08:57:03,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:03,555 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 08:57:03,555 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:57:03,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:03,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:03,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:57:03,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:57:03,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:03,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-15 08:57:03,561 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-15 08:57:03,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:57:03,561 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-15 08:57:03,561 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:03,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-15 08:57:04,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 299 edges. 299 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:04,119 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:57:04,119 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 08:57:04,119 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:57:04,119 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:57:04,137 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 08:57:04,320 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 08:57:04,320 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:57:04,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:57:04,320 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-15 08:57:04,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:04,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1464757156] [2022-04-15 08:57:04,321 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:57:04,321 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-15 08:57:04,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:57:04,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127942091] [2022-04-15 08:57:04,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:57:04,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:57:04,344 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:57:04,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2062218401] [2022-04-15 08:57:04,345 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:57:04,345 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:57:04,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:57:04,346 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:57:04,347 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 08:57:04,390 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:57:04,390 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:57:04,391 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 08:57:04,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:57:04,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:57:04,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-15 08:57:04,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,538 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:04,539 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:04,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:04,541 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:04,556 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,556 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,556 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,556 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,567 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,567 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:04,568 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:04,568 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:04,568 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:04,568 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,569 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:04,570 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,571 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,571 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,572 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,572 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:04,572 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= 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)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:04,573 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:04,573 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-15 08:57:04,573 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-15 08:57:04,573 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 08:57:04,573 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:57:14,474 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-15 08:57:14,474 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-15 08:57:14,475 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:14,475 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= 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)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:14,476 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,476 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,476 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,477 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,477 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,477 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:57:14,478 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,478 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,478 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,479 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,479 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,479 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,480 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,480 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,480 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,480 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,481 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:57:14,481 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:14,482 INFO L290 TraceCheckUtils]: 45: Hoare triple {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:14,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:57:14,482 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,482 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-15 08:57:14,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,482 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-15 08:57:14,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-15 08:57:14,485 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 08:57:14,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:57:14,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1127942091] [2022-04-15 08:57:14,486 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:57:14,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2062218401] [2022-04-15 08:57:14,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2062218401] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:57:14,486 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:57:14,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:57:14,486 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:57:14,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1464757156] [2022-04-15 08:57:14,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1464757156] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:57:14,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:57:14,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:57:14,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [440868632] [2022-04-15 08:57:14,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:57:14,487 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 08:57:14,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:57:14,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:14,522 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:14,522 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:57:14,522 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:14,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:57:14,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:57:14,523 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:15,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:15,561 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-15 08:57:15,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:57:15,562 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 08:57:15,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:57:15,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:15,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 08:57:15,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:15,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 08:57:15,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-15 08:57:15,621 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:15,624 INFO L225 Difference]: With dead ends: 226 [2022-04-15 08:57:15,624 INFO L226 Difference]: Without dead ends: 224 [2022-04-15 08:57:15,625 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:57:15,626 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 22 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:57:15,626 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 146 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:57:15,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-15 08:57:16,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-15 08:57:16,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:57:16,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:16,187 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:16,187 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:16,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:16,191 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 08:57:16,191 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 08:57:16,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:16,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:16,192 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 08:57:16,193 INFO L87 Difference]: Start difference. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 08:57:16,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:16,197 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 08:57:16,197 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 08:57:16,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:16,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:16,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:57:16,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:57:16,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 08:57:16,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-15 08:57:16,203 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-15 08:57:16,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:57:16,203 INFO L478 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-15 08:57:16,203 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:57:16,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-15 08:57:16,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:16,710 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 08:57:16,711 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 08:57:16,711 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:57:16,711 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:57:16,727 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 08:57:16,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 08:57:16,912 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:57:16,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:57:16,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-15 08:57:16,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:16,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639842578] [2022-04-15 08:57:16,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:57:16,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-15 08:57:16,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:57:16,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1027698018] [2022-04-15 08:57:16,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:57:16,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:57:16,921 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:57:16,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1791245239] [2022-04-15 08:57:16,921 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:57:16,921 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:57:16,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:57:16,922 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:57:16,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 08:57:16,974 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:57:16,974 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:57:16,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 08:57:16,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:57:16,983 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:57:17,084 INFO L272 TraceCheckUtils]: 0: Hoare triple {13757#true} call ULTIMATE.init(); {13757#true} is VALID [2022-04-15 08:57:17,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {13757#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {13757#true} is VALID [2022-04-15 08:57:17,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13757#true} {13757#true} #112#return; {13757#true} is VALID [2022-04-15 08:57:17,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {13757#true} call #t~ret6 := main(); {13757#true} is VALID [2022-04-15 08:57:17,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {13757#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L272 TraceCheckUtils]: 6: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13757#true} {13757#true} #94#return; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {13757#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L272 TraceCheckUtils]: 12: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13757#true} {13757#true} #96#return; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L272 TraceCheckUtils]: 17: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13757#true} {13757#true} #98#return; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L272 TraceCheckUtils]: 22: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 23: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13757#true} {13757#true} #100#return; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {13757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 29: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {13757#true} assume !(~c~0 >= ~b~0); {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 32: Hoare triple {13757#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13757#true} is VALID [2022-04-15 08:57:17,086 INFO L290 TraceCheckUtils]: 33: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {13757#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !false; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,087 INFO L272 TraceCheckUtils]: 38: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #102#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,088 INFO L272 TraceCheckUtils]: 43: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L290 TraceCheckUtils]: 44: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L290 TraceCheckUtils]: 45: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L290 TraceCheckUtils]: 46: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #104#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,088 INFO L272 TraceCheckUtils]: 48: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L290 TraceCheckUtils]: 50: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L290 TraceCheckUtils]: 51: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #106#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,089 INFO L272 TraceCheckUtils]: 53: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L290 TraceCheckUtils]: 54: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L290 TraceCheckUtils]: 55: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L290 TraceCheckUtils]: 56: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 08:57:17,089 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #108#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:57:17,090 INFO L290 TraceCheckUtils]: 58: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:57:17,090 INFO L290 TraceCheckUtils]: 59: Hoare triple {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:57:17,090 INFO L290 TraceCheckUtils]: 60: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !false; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 61: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 62: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L272 TraceCheckUtils]: 63: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 64: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 65: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 66: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13758#false} {13758#false} #102#return; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L272 TraceCheckUtils]: 68: Hoare triple {13758#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 69: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 70: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L290 TraceCheckUtils]: 71: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-15 08:57:17,091 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13758#false} {13758#false} #104#return; {13758#false} is VALID [2022-04-15 08:57:17,092 INFO L272 TraceCheckUtils]: 73: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 08:57:17,092 INFO L290 TraceCheckUtils]: 74: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 08:57:17,092 INFO L290 TraceCheckUtils]: 75: Hoare triple {13758#false} assume 0 == ~cond; {13758#false} is VALID [2022-04-15 08:57:17,092 INFO L290 TraceCheckUtils]: 76: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-15 08:57:17,092 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 08:57:17,092 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:57:17,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:57:17,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1027698018] [2022-04-15 08:57:17,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:57:17,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1791245239] [2022-04-15 08:57:17,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1791245239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:57:17,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:57:17,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:57:17,093 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:57:17,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639842578] [2022-04-15 08:57:17,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639842578] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:57:17,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:57:17,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:57:17,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [400792140] [2022-04-15 08:57:17,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:57:17,093 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 08:57:17,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:57:17,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 08:57:17,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:17,139 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:57:17,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:17,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:57:17,139 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:57:17,140 INFO L87 Difference]: Start difference. First operand 224 states and 308 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 08:57:17,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:17,904 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-15 08:57:17,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:57:17,904 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 08:57:17,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:57:17,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 08:57:17,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 08:57:17,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 08:57:17,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 08:57:17,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-15 08:57:17,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:17,969 INFO L225 Difference]: With dead ends: 367 [2022-04-15 08:57:17,969 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 08:57:17,969 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:57:17,970 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:57:17,970 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 109 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:57:17,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 08:57:18,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-15 08:57:18,509 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:57:18,509 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:57:18,510 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:57:18,510 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:57:18,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:18,514 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 08:57:18,514 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 08:57:18,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:18,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:18,515 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 08:57:18,515 INFO L87 Difference]: Start difference. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 08:57:18,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:18,520 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 08:57:18,520 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 08:57:18,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:18,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:18,521 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:57:18,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:57:18,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:57:18,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-15 08:57:18,526 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-15 08:57:18,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:57:18,526 INFO L478 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-15 08:57:18,529 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 08:57:18,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-15 08:57:19,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:19,047 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-15 08:57:19,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 08:57:19,048 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:57:19,048 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:57:19,064 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 08:57:19,248 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 08:57:19,248 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:57:19,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:57:19,249 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-15 08:57:19,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:19,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2100426524] [2022-04-15 08:57:19,249 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:57:19,249 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-15 08:57:19,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:57:19,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [49109664] [2022-04-15 08:57:19,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:57:19,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:57:19,260 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:57:19,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1918434628] [2022-04-15 08:57:19,260 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:57:19,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:57:19,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:57:19,261 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:57:19,262 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 08:57:19,311 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:57:19,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:57:19,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-15 08:57:19,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:57:19,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:57:20,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-15 08:57:20,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,237 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-15 08:57:20,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:57:20,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {15703#(and (= 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 !false; {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:57:20,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {15703#(and (= 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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:57:20,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:57:20,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:57:20,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:57:20,240 INFO L290 TraceCheckUtils]: 33: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:57:20,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:57:20,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:57:20,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,242 INFO L272 TraceCheckUtils]: 38: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,242 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,242 INFO L272 TraceCheckUtils]: 43: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:20,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:20,243 INFO L290 TraceCheckUtils]: 46: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:20,244 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,244 INFO L272 TraceCheckUtils]: 48: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,244 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,244 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,245 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,245 INFO L272 TraceCheckUtils]: 53: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:57:20,245 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:57:20,245 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:57:20,245 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:57:20,246 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 08:57:20,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 08:57:20,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 08:57:20,248 INFO L290 TraceCheckUtils]: 61: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 08:57:20,249 INFO L290 TraceCheckUtils]: 62: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,249 INFO L290 TraceCheckUtils]: 63: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,250 INFO L290 TraceCheckUtils]: 64: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,250 INFO L290 TraceCheckUtils]: 65: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,251 INFO L290 TraceCheckUtils]: 66: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,251 INFO L290 TraceCheckUtils]: 67: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 08:57:20,251 INFO L272 TraceCheckUtils]: 68: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~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)); {15617#true} is VALID [2022-04-15 08:57:20,251 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:20,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:20,252 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:20,254 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} #102#return; {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} is VALID [2022-04-15 08:57:20,255 INFO L272 TraceCheckUtils]: 73: Hoare triple {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:20,255 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:20,255 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-15 08:57:20,255 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-15 08:57:20,256 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 20 proven. 30 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 08:57:20,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:58:03,412 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-15 08:58:03,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-15 08:58:03,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:58:03,414 INFO L272 TraceCheckUtils]: 73: Hoare triple {15872#(= 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)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:58:03,415 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15876#(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)))))} #102#return; {15872#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:58:03,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:03,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:03,416 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:58:03,416 INFO L272 TraceCheckUtils]: 68: Hoare triple {15876#(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)); {15617#true} is VALID [2022-04-15 08:58:03,416 INFO L290 TraceCheckUtils]: 67: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,417 INFO L290 TraceCheckUtils]: 66: Hoare triple {15876#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,417 INFO L290 TraceCheckUtils]: 65: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,417 INFO L290 TraceCheckUtils]: 64: Hoare triple {15876#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,418 INFO L290 TraceCheckUtils]: 63: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,468 INFO L290 TraceCheckUtils]: 62: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:58:03,469 INFO L290 TraceCheckUtils]: 61: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,469 INFO L290 TraceCheckUtils]: 60: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,474 INFO L290 TraceCheckUtils]: 59: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,474 INFO L290 TraceCheckUtils]: 58: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,475 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,475 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:03,475 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:03,475 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:03,475 INFO L272 TraceCheckUtils]: 53: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:03,476 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,476 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:03,476 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:03,476 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:03,476 INFO L272 TraceCheckUtils]: 48: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:03,477 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,477 INFO L290 TraceCheckUtils]: 46: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:03,477 INFO L290 TraceCheckUtils]: 45: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:03,477 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:03,478 INFO L272 TraceCheckUtils]: 43: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {15617#true} is VALID [2022-04-15 08:58:03,478 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,478 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:03,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:03,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:03,479 INFO L272 TraceCheckUtils]: 38: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {15617#true} is VALID [2022-04-15 08:58:03,479 INFO L290 TraceCheckUtils]: 37: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,480 INFO L290 TraceCheckUtils]: 36: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:03,482 INFO L290 TraceCheckUtils]: 33: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:58:05,484 WARN L290 TraceCheckUtils]: 32: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-15 08:58:05,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !(~c~0 >= ~b~0); {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 08:58:05,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !false; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 08:58:05,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 08:58:05,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:58:05,487 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-15 08:58:05,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-15 08:58:05,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-15 08:58:05,489 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 21 proven. 21 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2022-04-15 08:58:05,489 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:58:05,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [49109664] [2022-04-15 08:58:05,489 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:58:05,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1918434628] [2022-04-15 08:58:05,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1918434628] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:58:05,489 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:58:05,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-15 08:58:05,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:58:05,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2100426524] [2022-04-15 08:58:05,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2100426524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:58:05,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:58:05,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 08:58:05,490 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [11411092] [2022-04-15 08:58:05,490 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:58:05,490 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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 77 [2022-04-15 08:58:05,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:58:05,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:58:05,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:58:05,558 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 08:58:05,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:58:05,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 08:58:05,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=419, Unknown=1, NotChecked=0, Total=506 [2022-04-15 08:58:05,559 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:58:08,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:58:08,224 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-15 08:58:08,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 08:58:08,224 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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 77 [2022-04-15 08:58:08,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:58:08,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:58:08,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 08:58:08,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:58:08,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 08:58:08,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-15 08:58:08,384 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:58:08,389 INFO L225 Difference]: With dead ends: 285 [2022-04-15 08:58:08,389 INFO L226 Difference]: Without dead ends: 283 [2022-04-15 08:58:08,390 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 128 SyntacticMatches, 4 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=147, Invalid=722, Unknown=1, NotChecked=0, Total=870 [2022-04-15 08:58:08,390 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 61 mSDsluCounter, 281 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 744 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 08:58:08,390 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 331 Invalid, 744 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 08:58:08,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-15 08:58:08,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 222. [2022-04-15 08:58:08,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:58:08,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:58:08,930 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:58:08,930 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:58:08,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:58:08,936 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 08:58:08,936 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 08:58:08,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:58:08,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:58:08,937 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-15 08:58:08,937 INFO L87 Difference]: Start difference. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-15 08:58:08,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:58:08,942 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 08:58:08,942 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 08:58:08,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:58:08,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:58:08,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:58:08,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:58:08,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 08:58:08,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 295 transitions. [2022-04-15 08:58:08,947 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 295 transitions. Word has length 77 [2022-04-15 08:58:08,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:58:08,948 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 295 transitions. [2022-04-15 08:58:08,948 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:58:08,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 295 transitions. [2022-04-15 08:58:09,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:58:09,605 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 295 transitions. [2022-04-15 08:58:09,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 08:58:09,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:58:09,606 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:58:09,632 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 08:58:09,806 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 08:58:09,806 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:58:09,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:58:09,807 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 08:58:09,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:58:09,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [301356013] [2022-04-15 08:58:09,807 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:58:09,807 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 08:58:09,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:58:09,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1855944316] [2022-04-15 08:58:09,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:58:09,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:58:09,817 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:58:09,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [640690507] [2022-04-15 08:58:09,818 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:58:09,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:58:09,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:58:09,820 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:58:09,821 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 08:58:09,866 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:58:09,866 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:58:09,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-15 08:58:09,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:58:09,876 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:58:10,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-15 08:58:10,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-15 08:58:10,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-15 08:58:10,550 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,551 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-15 08:58:10,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,552 INFO L290 TraceCheckUtils]: 29: Hoare triple {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,553 INFO L290 TraceCheckUtils]: 32: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,553 INFO L272 TraceCheckUtils]: 33: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,553 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,554 INFO L272 TraceCheckUtils]: 38: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,555 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,555 INFO L272 TraceCheckUtils]: 43: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,555 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,555 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,555 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,556 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,556 INFO L272 TraceCheckUtils]: 48: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,556 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:58:10,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:10,556 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:10,557 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,558 INFO L272 TraceCheckUtils]: 55: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,558 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,558 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,558 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,558 INFO L272 TraceCheckUtils]: 60: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,558 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:58:10,559 INFO L290 TraceCheckUtils]: 62: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:10,559 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:58:10,559 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,559 INFO L272 TraceCheckUtils]: 65: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,560 INFO L272 TraceCheckUtils]: 70: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:58:10,560 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:58:10,561 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,561 INFO L290 TraceCheckUtils]: 75: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,562 INFO L290 TraceCheckUtils]: 76: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,562 INFO L290 TraceCheckUtils]: 77: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !false; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,562 INFO L290 TraceCheckUtils]: 78: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:58:10,563 INFO L290 TraceCheckUtils]: 79: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 08:58:10,563 INFO L290 TraceCheckUtils]: 80: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !false; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 08:58:10,563 INFO L290 TraceCheckUtils]: 81: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !(0 != ~b~0); {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-15 08:58:10,564 INFO L272 TraceCheckUtils]: 82: Hoare triple {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:58:10,564 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:58:10,564 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-15 08:58:10,565 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-15 08:58:10,565 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 08:58:10,565 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:59:12,145 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-15 08:59:12,145 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-15 08:59:12,146 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:59:12,146 INFO L272 TraceCheckUtils]: 82: Hoare triple {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:59:12,147 INFO L290 TraceCheckUtils]: 81: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:59:12,147 INFO L290 TraceCheckUtils]: 80: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 08:59:12,431 INFO L290 TraceCheckUtils]: 79: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 08:59:12,431 INFO L290 TraceCheckUtils]: 78: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,432 INFO L290 TraceCheckUtils]: 77: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,472 INFO L290 TraceCheckUtils]: 76: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,473 INFO L290 TraceCheckUtils]: 75: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,473 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,473 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,474 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,474 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,474 INFO L272 TraceCheckUtils]: 70: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,474 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,475 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,475 INFO L272 TraceCheckUtils]: 65: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,476 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,476 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:59:12,476 INFO L290 TraceCheckUtils]: 62: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:59:12,477 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:59:12,477 INFO L272 TraceCheckUtils]: 60: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {17695#true} is VALID [2022-04-15 08:59:12,478 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,478 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,478 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,478 INFO L272 TraceCheckUtils]: 55: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {17695#true} is VALID [2022-04-15 08:59:12,479 INFO L290 TraceCheckUtils]: 54: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,602 INFO L290 TraceCheckUtils]: 53: Hoare triple {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,603 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 08:59:12,603 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:59:12,604 INFO L290 TraceCheckUtils]: 50: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:59:12,604 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:59:12,604 INFO L272 TraceCheckUtils]: 48: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,605 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 08:59:12,605 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,605 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,605 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,605 INFO L272 TraceCheckUtils]: 43: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,606 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 08:59:12,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,606 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,606 INFO L272 TraceCheckUtils]: 38: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,607 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 08:59:12,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,607 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,607 INFO L272 TraceCheckUtils]: 33: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 08:59:12,609 INFO L290 TraceCheckUtils]: 31: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 08:59:12,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 08:59:12,610 INFO L290 TraceCheckUtils]: 29: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 08:59:12,610 INFO L290 TraceCheckUtils]: 28: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:59:12,611 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 08:59:12,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-15 08:59:12,613 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 08:59:12,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:59:12,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1855944316] [2022-04-15 08:59:12,614 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:59:12,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [640690507] [2022-04-15 08:59:12,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [640690507] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:59:12,614 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:59:12,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15] total 23 [2022-04-15 08:59:12,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:59:12,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [301356013] [2022-04-15 08:59:12,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [301356013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:59:12,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:59:12,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:59:12,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [992597352] [2022-04-15 08:59:12,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:59:12,616 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 08:59:12,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:59:12,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:59:12,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:59:12,665 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:59:12,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:59:12,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:59:12,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 08:59:12,666 INFO L87 Difference]: Start difference. First operand 222 states and 295 transitions. Second operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:59:15,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:59:15,941 INFO L93 Difference]: Finished difference Result 309 states and 417 transitions. [2022-04-15 08:59:15,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 08:59:15,941 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 08:59:15,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:59:15,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:59:15,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 08:59:15,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:59:15,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 08:59:15,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-15 08:59:16,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:59:16,093 INFO L225 Difference]: With dead ends: 309 [2022-04-15 08:59:16,093 INFO L226 Difference]: Without dead ends: 306 [2022-04-15 08:59:16,094 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 148 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=143, Invalid=727, Unknown=0, NotChecked=0, Total=870 [2022-04-15 08:59:16,096 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 57 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 669 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 294 SdHoareTripleChecker+Invalid, 746 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 669 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 08:59:16,096 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 294 Invalid, 746 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 669 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 08:59:16,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states. [2022-04-15 08:59:16,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 287. [2022-04-15 08:59:16,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:59:16,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 08:59:16,856 INFO L74 IsIncluded]: Start isIncluded. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 08:59:16,856 INFO L87 Difference]: Start difference. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 08:59:16,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:59:16,862 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-15 08:59:16,862 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-15 08:59:16,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:59:16,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:59:16,863 INFO L74 IsIncluded]: Start isIncluded. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-15 08:59:16,864 INFO L87 Difference]: Start difference. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-15 08:59:16,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:59:16,869 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-15 08:59:16,869 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-15 08:59:16,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:59:16,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:59:16,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:59:16,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:59:16,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 08:59:16,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 287 states to 287 states and 394 transitions. [2022-04-15 08:59:16,876 INFO L78 Accepts]: Start accepts. Automaton has 287 states and 394 transitions. Word has length 86 [2022-04-15 08:59:16,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:59:16,877 INFO L478 AbstractCegarLoop]: Abstraction has 287 states and 394 transitions. [2022-04-15 08:59:16,877 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:59:16,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 287 states and 394 transitions. [2022-04-15 08:59:17,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 394 edges. 394 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:59:17,682 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 394 transitions. [2022-04-15 08:59:17,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-15 08:59:17,683 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:59:17,683 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:59:17,705 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 08:59:17,883 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:59:17,884 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:59:17,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:59:17,884 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-15 08:59:17,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:59:17,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [129381401] [2022-04-15 08:59:17,885 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:59:17,885 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-15 08:59:17,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:59:17,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [151019804] [2022-04-15 08:59:17,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:59:17,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:59:17,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:59:17,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [460815851] [2022-04-15 08:59:17,895 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:59:17,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:59:17,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:59:17,896 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:59:17,897 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 08:59:17,942 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:59:17,942 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:59:17,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-15 08:59:17,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:59:17,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:59:33,246 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:59:38,994 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:00:03,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {20051#true} call ULTIMATE.init(); {20051#true} is VALID [2022-04-15 09:00:03,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {20051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {20051#true} is VALID [2022-04-15 09:00:03,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20051#true} {20051#true} #112#return; {20051#true} is VALID [2022-04-15 09:00:03,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {20051#true} call #t~ret6 := main(); {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {20051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20051#true} {20051#true} #94#return; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {20051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L272 TraceCheckUtils]: 12: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 13: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20051#true} {20051#true} #96#return; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L272 TraceCheckUtils]: 17: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20051#true} {20051#true} #98#return; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L272 TraceCheckUtils]: 22: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,752 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20051#true} {20051#true} #100#return; {20051#true} is VALID [2022-04-15 09:00:03,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {20051#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:00:03,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {20137#(and (= 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 !false; {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:00:03,753 INFO L290 TraceCheckUtils]: 29: Hoare triple {20137#(and (= 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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:00:03,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:00:03,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:00:03,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,755 INFO L290 TraceCheckUtils]: 35: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,756 INFO L272 TraceCheckUtils]: 38: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,757 INFO L290 TraceCheckUtils]: 39: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,757 INFO L290 TraceCheckUtils]: 40: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,757 INFO L290 TraceCheckUtils]: 41: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,758 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #102#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,758 INFO L272 TraceCheckUtils]: 43: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,758 INFO L290 TraceCheckUtils]: 46: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,759 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #104#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,759 INFO L272 TraceCheckUtils]: 48: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,759 INFO L290 TraceCheckUtils]: 49: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,759 INFO L290 TraceCheckUtils]: 50: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,759 INFO L290 TraceCheckUtils]: 51: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,760 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #106#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,760 INFO L272 TraceCheckUtils]: 53: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,760 INFO L290 TraceCheckUtils]: 54: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,760 INFO L290 TraceCheckUtils]: 56: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,761 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #108#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:00:03,762 INFO L290 TraceCheckUtils]: 58: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 09:00:03,762 INFO L290 TraceCheckUtils]: 59: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !false; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 09:00:03,763 INFO L272 TraceCheckUtils]: 60: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,763 INFO L290 TraceCheckUtils]: 61: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:00:03,763 INFO L290 TraceCheckUtils]: 62: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,763 INFO L290 TraceCheckUtils]: 63: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,765 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #102#return; {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:00:03,765 INFO L272 TraceCheckUtils]: 65: Hoare triple {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~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)); {20051#true} is VALID [2022-04-15 09:00:03,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:00:03,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,766 INFO L290 TraceCheckUtils]: 68: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,767 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:00:03,767 INFO L272 TraceCheckUtils]: 70: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,767 INFO L290 TraceCheckUtils]: 71: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 09:00:03,767 INFO L290 TraceCheckUtils]: 72: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 09:00:03,767 INFO L290 TraceCheckUtils]: 73: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 09:00:03,768 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20051#true} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:00:03,768 INFO L272 TraceCheckUtils]: 75: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 09:00:03,768 INFO L290 TraceCheckUtils]: 76: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:00:03,768 INFO L290 TraceCheckUtils]: 77: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,769 INFO L290 TraceCheckUtils]: 78: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:00:03,770 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:00:03,770 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:00:03,773 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 09:00:03,773 INFO L290 TraceCheckUtils]: 82: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !false; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 09:00:03,774 INFO L290 TraceCheckUtils]: 83: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 09:00:05,776 WARN L290 TraceCheckUtils]: 84: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is UNKNOWN [2022-04-15 09:00:05,778 INFO L290 TraceCheckUtils]: 85: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !false; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is VALID [2022-04-15 09:00:05,780 INFO L290 TraceCheckUtils]: 86: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !(0 != ~b~0); {20327#(and (= main_~r~0 0) (or (and (= main_~a~0 0) (or (and (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0)) (and (= (mod main_~q~0 2) 0) (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (* (* main_~a~0 aux_div_main_~k~0_17) 2))) (= (div (* (- 1) main_~q~0) 2) 0)))) (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0)))) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:00:05,789 INFO L272 TraceCheckUtils]: 87: Hoare triple {20327#(and (= main_~r~0 0) (or (and (= main_~a~0 0) (or (and (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0)) (and (= (mod main_~q~0 2) 0) (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (* (* main_~a~0 aux_div_main_~k~0_17) 2))) (= (div (* (- 1) main_~q~0) 2) 0)))) (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0)))) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:00:05,790 INFO L290 TraceCheckUtils]: 88: Hoare triple {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:00:05,790 INFO L290 TraceCheckUtils]: 89: Hoare triple {20335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20052#false} is VALID [2022-04-15 09:00:05,790 INFO L290 TraceCheckUtils]: 90: Hoare triple {20052#false} assume !false; {20052#false} is VALID [2022-04-15 09:00:05,791 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 52 proven. 28 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-15 09:00:05,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:00:56,357 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:01:02,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:01:02,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [151019804] [2022-04-15 09:01:02,193 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:01:02,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [460815851] [2022-04-15 09:01:02,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [460815851] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 09:01:02,193 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 09:01:02,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-04-15 09:01:02,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:01:02,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [129381401] [2022-04-15 09:01:02,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [129381401] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:01:02,193 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:01:02,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 09:01:02,193 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [444701660] [2022-04-15 09:01:02,193 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:01:02,194 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 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 91 [2022-04-15 09:01:02,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:01:02,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:01:04,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 09:01:04,290 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 09:01:04,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:01:04,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 09:01:04,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-15 09:01:04,291 INFO L87 Difference]: Start difference. First operand 287 states and 394 transitions. Second operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:01:09,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:01:09,649 INFO L93 Difference]: Finished difference Result 342 states and 465 transitions. [2022-04-15 09:01:09,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 09:01:09,649 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 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 91 [2022-04-15 09:01:09,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:01:09,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:01:09,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-15 09:01:09,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:01:09,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-15 09:01:09,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 164 transitions. [2022-04-15 09:01:11,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 163 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 09:01:11,849 INFO L225 Difference]: With dead ends: 342 [2022-04-15 09:01:11,849 INFO L226 Difference]: Without dead ends: 339 [2022-04-15 09:01:11,849 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 198 ImplicationChecksByTransitivity, 13.6s TimeCoverageRelationStatistics Valid=166, Invalid=890, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 09:01:11,850 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 66 mSDsluCounter, 384 mSDsCounter, 0 mSdLazyCounter, 894 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 437 SdHoareTripleChecker+Invalid, 1196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 894 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 242 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-15 09:01:11,850 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [80 Valid, 437 Invalid, 1196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 894 Invalid, 0 Unknown, 242 Unchecked, 1.8s Time] [2022-04-15 09:01:11,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-15 09:01:12,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 316. [2022-04-15 09:01:12,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:01:12,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:01:12,572 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:01:12,573 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:01:12,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:01:12,579 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-15 09:01:12,579 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-15 09:01:12,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:01:12,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:01:12,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-15 09:01:12,581 INFO L87 Difference]: Start difference. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-15 09:01:12,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:01:12,587 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-15 09:01:12,587 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-15 09:01:12,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:01:12,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:01:12,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:01:12,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:01:12,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:01:12,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 316 states to 316 states and 437 transitions. [2022-04-15 09:01:12,595 INFO L78 Accepts]: Start accepts. Automaton has 316 states and 437 transitions. Word has length 91 [2022-04-15 09:01:12,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:01:12,595 INFO L478 AbstractCegarLoop]: Abstraction has 316 states and 437 transitions. [2022-04-15 09:01:12,595 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:01:12,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 316 states and 437 transitions. [2022-04-15 09:01:13,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 437 edges. 437 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:01:13,559 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 437 transitions. [2022-04-15 09:01:13,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 09:01:13,576 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:01:13,576 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:01:13,594 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 09:01:13,792 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 09:01:13,792 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:01:13,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:01:13,792 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 1 times [2022-04-15 09:01:13,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:01:13,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1978882369] [2022-04-15 09:01:13,793 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:01:13,793 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 2 times [2022-04-15 09:01:13,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:01:13,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1789865771] [2022-04-15 09:01:13,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:01:13,793 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:01:13,802 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:01:13,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1866168127] [2022-04-15 09:01:13,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:01:13,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:01:13,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:01:13,803 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:01:13,804 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 09:01:13,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:01:13,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:01:13,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 260 conjuncts, 90 conjunts are in the unsatisfiable core [2022-04-15 09:01:13,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:01:13,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:01:16,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,598 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,600 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-15 09:01:16,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:01:16,601 INFO L290 TraceCheckUtils]: 28: Hoare triple {22544#(and (= 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 !false; {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:01:16,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {22544#(and (= 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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:01:16,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:01:16,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:01:16,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:01:16,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:01:16,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:01:16,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 09:01:16,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,604 INFO L272 TraceCheckUtils]: 38: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,605 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,605 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,605 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,605 INFO L272 TraceCheckUtils]: 43: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,606 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,606 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,606 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,607 INFO L272 TraceCheckUtils]: 48: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,607 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,607 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,607 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,607 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,608 INFO L272 TraceCheckUtils]: 53: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,608 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,608 INFO L290 TraceCheckUtils]: 55: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,608 INFO L290 TraceCheckUtils]: 56: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,609 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 09:01:16,610 INFO L290 TraceCheckUtils]: 58: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 09:01:16,610 INFO L290 TraceCheckUtils]: 59: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !false; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 09:01:16,610 INFO L272 TraceCheckUtils]: 60: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,611 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,611 INFO L290 TraceCheckUtils]: 62: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,611 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,612 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #102#return; {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:01:16,612 INFO L272 TraceCheckUtils]: 65: Hoare triple {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~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)); {22458#true} is VALID [2022-04-15 09:01:16,612 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,613 INFO L290 TraceCheckUtils]: 67: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,613 INFO L290 TraceCheckUtils]: 68: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,614 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:01:16,614 INFO L272 TraceCheckUtils]: 70: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,614 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:01:16,614 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:01:16,614 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:01:16,615 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:01:16,615 INFO L272 TraceCheckUtils]: 75: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,615 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,617 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:01:16,617 INFO L290 TraceCheckUtils]: 80: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:01:16,618 INFO L290 TraceCheckUtils]: 81: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 09:01:16,619 INFO L290 TraceCheckUtils]: 82: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !false; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 09:01:16,619 INFO L290 TraceCheckUtils]: 83: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !(~c~0 >= ~b~0); {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 09:01:16,620 INFO L290 TraceCheckUtils]: 84: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,620 INFO L290 TraceCheckUtils]: 85: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,621 INFO L290 TraceCheckUtils]: 86: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,621 INFO L290 TraceCheckUtils]: 87: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,622 INFO L290 TraceCheckUtils]: 88: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,622 INFO L290 TraceCheckUtils]: 89: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 09:01:16,622 INFO L272 TraceCheckUtils]: 90: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:01:16,623 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,623 INFO L290 TraceCheckUtils]: 92: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,623 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:01:16,626 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #102#return; {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} is VALID [2022-04-15 09:01:16,629 INFO L272 TraceCheckUtils]: 95: Hoare triple {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:01:16,629 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:01:16,629 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-15 09:01:16,629 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-15 09:01:16,630 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 64 proven. 45 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 09:01:16,630 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:02:56,350 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-15 09:02:56,350 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-15 09:02:56,351 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:02:56,351 INFO L272 TraceCheckUtils]: 95: Hoare triple {22781#(= 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)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:02:56,352 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22785#(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)))))} #102#return; {22781#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:02:56,352 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,353 INFO L290 TraceCheckUtils]: 92: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,353 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:02:56,353 INFO L272 TraceCheckUtils]: 90: Hoare triple {22785#(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)); {22458#true} is VALID [2022-04-15 09:02:56,353 INFO L290 TraceCheckUtils]: 89: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,354 INFO L290 TraceCheckUtils]: 88: Hoare triple {22785#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,354 INFO L290 TraceCheckUtils]: 87: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,355 INFO L290 TraceCheckUtils]: 86: Hoare triple {22785#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,355 INFO L290 TraceCheckUtils]: 85: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,371 INFO L290 TraceCheckUtils]: 84: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:02:56,372 INFO L290 TraceCheckUtils]: 83: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,372 INFO L290 TraceCheckUtils]: 82: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,377 INFO L290 TraceCheckUtils]: 81: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,377 INFO L290 TraceCheckUtils]: 80: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,378 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,379 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,379 INFO L290 TraceCheckUtils]: 77: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,379 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:02:56,379 INFO L272 TraceCheckUtils]: 75: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,380 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,380 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,380 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,380 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,380 INFO L272 TraceCheckUtils]: 70: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,381 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,381 INFO L290 TraceCheckUtils]: 68: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,381 INFO L290 TraceCheckUtils]: 67: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,381 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,381 INFO L272 TraceCheckUtils]: 65: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,383 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,383 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,383 INFO L290 TraceCheckUtils]: 62: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:02:56,383 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:02:56,384 INFO L272 TraceCheckUtils]: 60: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,384 INFO L290 TraceCheckUtils]: 59: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,572 INFO L290 TraceCheckUtils]: 58: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,574 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,574 INFO L290 TraceCheckUtils]: 56: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,574 INFO L290 TraceCheckUtils]: 55: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,574 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,574 INFO L272 TraceCheckUtils]: 53: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,575 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,575 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,576 INFO L272 TraceCheckUtils]: 48: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,577 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,577 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,577 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,577 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,577 INFO L272 TraceCheckUtils]: 43: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,578 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,578 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,578 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,578 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,578 INFO L272 TraceCheckUtils]: 38: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,579 INFO L290 TraceCheckUtils]: 37: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,580 INFO L290 TraceCheckUtils]: 36: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 09:02:56,581 INFO L290 TraceCheckUtils]: 35: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:02:56,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 09:02:56,582 INFO L290 TraceCheckUtils]: 32: Hoare triple {22458#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22458#true} is VALID [2022-04-15 09:02:56,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {22458#true} assume !(~c~0 >= ~b~0); {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 28: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-15 09:02:56,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-15 09:02:56,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-15 09:02:56,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-15 09:02:56,586 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 80 proven. 19 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 09:02:56,586 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:02:56,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1789865771] [2022-04-15 09:02:56,586 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:02:56,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1866168127] [2022-04-15 09:02:56,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1866168127] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:02:56,586 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:02:56,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-15 09:02:56,587 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:02:56,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1978882369] [2022-04-15 09:02:56,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1978882369] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:02:56,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:02:56,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 09:02:56,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1881937727] [2022-04-15 09:02:56,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:02:56,588 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-15 09:02:56,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:02:56,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:02:56,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:02:56,673 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 09:02:56,673 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:02:56,674 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 09:02:56,674 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=493, Unknown=0, NotChecked=0, Total=600 [2022-04-15 09:02:56,674 INFO L87 Difference]: Start difference. First operand 316 states and 437 transitions. Second operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:03:01,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:03:01,700 INFO L93 Difference]: Finished difference Result 386 states and 525 transitions. [2022-04-15 09:03:01,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 09:03:01,700 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-15 09:03:01,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:03:01,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:03:01,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-15 09:03:01,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:03:01,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-15 09:03:01,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 173 transitions. [2022-04-15 09:03:01,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:03:01,901 INFO L225 Difference]: With dead ends: 386 [2022-04-15 09:03:01,901 INFO L226 Difference]: Without dead ends: 384 [2022-04-15 09:03:01,902 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 169 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=152, Invalid=718, Unknown=0, NotChecked=0, Total=870 [2022-04-15 09:03:01,902 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 69 mSDsluCounter, 380 mSDsCounter, 0 mSdLazyCounter, 1209 mSolverCounterSat, 74 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 440 SdHoareTripleChecker+Invalid, 1283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 74 IncrementalHoareTripleChecker+Valid, 1209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-15 09:03:01,902 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [87 Valid, 440 Invalid, 1283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [74 Valid, 1209 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-15 09:03:01,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 384 states. [2022-04-15 09:03:02,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 384 to 320. [2022-04-15 09:03:02,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:03:02,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:03:02,646 INFO L74 IsIncluded]: Start isIncluded. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:03:02,646 INFO L87 Difference]: Start difference. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:03:02,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:03:02,656 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-15 09:03:02,656 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-15 09:03:02,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:03:02,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:03:02,657 INFO L74 IsIncluded]: Start isIncluded. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-15 09:03:02,658 INFO L87 Difference]: Start difference. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-15 09:03:02,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:03:02,664 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-15 09:03:02,664 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-15 09:03:02,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:03:02,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:03:02,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:03:02,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:03:02,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 09:03:02,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 320 states to 320 states and 440 transitions. [2022-04-15 09:03:02,672 INFO L78 Accepts]: Start accepts. Automaton has 320 states and 440 transitions. Word has length 99 [2022-04-15 09:03:02,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:03:02,672 INFO L478 AbstractCegarLoop]: Abstraction has 320 states and 440 transitions. [2022-04-15 09:03:02,672 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:03:02,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 320 states and 440 transitions. [2022-04-15 09:03:03,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 440 edges. 440 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:03:03,755 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 440 transitions. [2022-04-15 09:03:03,756 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 09:03:03,756 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:03:03,756 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 5, 4, 4, 4, 3, 3, 3, 3, 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, 1, 1, 1] [2022-04-15 09:03:03,772 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 09:03:03,956 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 09:03:03,956 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:03:03,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:03:03,957 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-15 09:03:03,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:03:03,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [967730604] [2022-04-15 09:03:03,957 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:03:03,957 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-15 09:03:03,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:03:03,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986781585] [2022-04-15 09:03:03,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:03:03,958 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:03:03,968 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:03:03,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1659451355] [2022-04-15 09:03:03,969 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:03:03,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:03:03,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:03:03,970 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:03:03,970 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 09:03:04,029 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:03:04,029 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:03:04,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-15 09:03:04,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:03:04,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:03:54,433 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:04:03,574 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:04:08,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-15 09:04:08,971 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,972 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,972 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-15 09:04:08,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:04:08,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {25352#(and (= 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 !false; {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 09:04:08,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {25352#(and (= 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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,974 INFO L272 TraceCheckUtils]: 33: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,974 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,975 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #102#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,975 INFO L272 TraceCheckUtils]: 38: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,976 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:04:08,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,977 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #104#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,977 INFO L272 TraceCheckUtils]: 43: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,977 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,977 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,977 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,978 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #106#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,978 INFO L272 TraceCheckUtils]: 48: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,978 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,978 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,978 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,979 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #108#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= 2 * ~v~0); {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 09:04:08,980 INFO L290 TraceCheckUtils]: 54: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 09:04:08,980 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 09:04:08,981 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 09:04:08,981 INFO L290 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,981 INFO L290 TraceCheckUtils]: 58: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,982 INFO L290 TraceCheckUtils]: 59: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,983 INFO L290 TraceCheckUtils]: 61: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,983 INFO L290 TraceCheckUtils]: 62: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 09:04:08,983 INFO L272 TraceCheckUtils]: 63: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,983 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:04:08,984 INFO L290 TraceCheckUtils]: 65: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,985 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} #102#return; {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,985 INFO L272 TraceCheckUtils]: 68: Hoare triple {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~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)); {25266#true} is VALID [2022-04-15 09:04:08,985 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:04:08,985 INFO L290 TraceCheckUtils]: 70: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,986 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:04:08,987 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,987 INFO L272 TraceCheckUtils]: 73: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,987 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,987 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,987 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,988 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,988 INFO L272 TraceCheckUtils]: 78: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:08,988 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:08,988 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:08,988 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:08,989 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,989 INFO L290 TraceCheckUtils]: 83: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,990 INFO L290 TraceCheckUtils]: 85: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:08,991 INFO L290 TraceCheckUtils]: 86: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:04:10,993 WARN L290 TraceCheckUtils]: 87: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is UNKNOWN [2022-04-15 09:04:10,994 INFO L290 TraceCheckUtils]: 88: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !false; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is VALID [2022-04-15 09:04:11,024 INFO L290 TraceCheckUtils]: 89: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 09:04:11,025 INFO L290 TraceCheckUtils]: 90: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 09:04:11,026 INFO L290 TraceCheckUtils]: 91: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 09:04:11,027 INFO L290 TraceCheckUtils]: 92: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 09:04:11,027 INFO L272 TraceCheckUtils]: 93: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:04:11,027 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:11,027 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:11,027 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:11,028 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} #102#return; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 09:04:11,030 INFO L272 TraceCheckUtils]: 98: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:04:11,030 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:04:11,030 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-15 09:04:11,030 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-15 09:04:11,031 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 36 proven. 76 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-15 09:04:11,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:04:58,417 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-15 09:04:58,417 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-15 09:04:58,418 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:04:58,418 INFO L272 TraceCheckUtils]: 98: Hoare triple {25599#(= 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)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:04:58,419 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:04:58,419 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:04:58,419 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:04:58,419 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:04:58,419 INFO L272 TraceCheckUtils]: 93: Hoare triple {25599#(= 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)); {25266#true} is VALID [2022-04-15 09:04:58,420 INFO L290 TraceCheckUtils]: 92: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:04:58,420 INFO L290 TraceCheckUtils]: 91: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:04:58,420 INFO L290 TraceCheckUtils]: 90: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:04:58,421 INFO L290 TraceCheckUtils]: 89: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:04:58,421 INFO L290 TraceCheckUtils]: 88: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:05:00,423 WARN L290 TraceCheckUtils]: 87: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 09:05:00,424 INFO L290 TraceCheckUtils]: 86: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 09:05:00,424 INFO L290 TraceCheckUtils]: 85: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,130 INFO L290 TraceCheckUtils]: 84: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,131 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,132 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,132 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,132 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,132 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,132 INFO L272 TraceCheckUtils]: 78: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,133 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,133 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,133 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,133 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,133 INFO L272 TraceCheckUtils]: 73: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,134 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 09:05:01,135 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:01,135 INFO L290 TraceCheckUtils]: 70: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:01,135 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:05:01,135 INFO L272 TraceCheckUtils]: 68: Hoare triple {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,136 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:05:01,137 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:01,137 INFO L290 TraceCheckUtils]: 65: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:01,137 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:05:01,137 INFO L272 TraceCheckUtils]: 63: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,138 INFO L290 TraceCheckUtils]: 62: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:05:01,138 INFO L290 TraceCheckUtils]: 61: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:05:01,139 INFO L290 TraceCheckUtils]: 60: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 59: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 58: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 57: Hoare triple {25266#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 56: Hoare triple {25266#true} assume !(~c~0 >= ~b~0); {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 55: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {25266#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {25266#true} assume !(~c~0 >= 2 * ~v~0); {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25266#true} #108#return; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L272 TraceCheckUtils]: 48: Hoare triple {25266#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25266#true} #106#return; {25266#true} is VALID [2022-04-15 09:05:01,141 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L272 TraceCheckUtils]: 43: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25266#true} {25266#true} #104#return; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 41: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 40: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L272 TraceCheckUtils]: 38: Hoare triple {25266#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25266#true} #102#return; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L272 TraceCheckUtils]: 33: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 09:05:01,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {25266#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 29: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 28: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,143 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-15 09:05:01,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 09:05:01,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-15 09:05:01,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-15 09:05:01,145 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 69 proven. 27 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-15 09:05:01,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:05:01,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [986781585] [2022-04-15 09:05:01,145 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:05:01,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1659451355] [2022-04-15 09:05:01,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1659451355] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:05:01,145 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:05:01,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 12] total 25 [2022-04-15 09:05:01,146 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:05:01,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [967730604] [2022-04-15 09:05:01,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [967730604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:05:01,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:05:01,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 09:05:01,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142943961] [2022-04-15 09:05:01,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:05:01,146 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-15 09:05:01,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:05:01,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:05:03,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 71 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 09:05:03,234 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 09:05:03,235 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:05:03,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 09:05:03,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=513, Unknown=0, NotChecked=0, Total=600 [2022-04-15 09:05:03,235 INFO L87 Difference]: Start difference. First operand 320 states and 440 transitions. Second operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:05:08,838 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:05:13,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:05:13,711 INFO L93 Difference]: Finished difference Result 430 states and 587 transitions. [2022-04-15 09:05:13,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 09:05:13,712 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-15 09:05:13,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:05:13,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:05:13,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 09:05:13,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:05:13,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 09:05:13,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-15 09:05:15,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 162 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 09:05:15,891 INFO L225 Difference]: With dead ends: 430 [2022-04-15 09:05:15,892 INFO L226 Difference]: Without dead ends: 428 [2022-04-15 09:05:15,893 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 179 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=139, Invalid=853, Unknown=0, NotChecked=0, Total=992 [2022-04-15 09:05:15,893 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 71 mSDsluCounter, 381 mSDsCounter, 0 mSdLazyCounter, 994 mSolverCounterSat, 57 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 432 SdHoareTripleChecker+Invalid, 1052 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 994 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:05:15,893 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 432 Invalid, 1052 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 994 Invalid, 1 Unknown, 0 Unchecked, 5.5s Time] [2022-04-15 09:05:15,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-15 09:05:17,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 410. [2022-04-15 09:05:17,241 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:05:17,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 09:05:17,242 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 09:05:17,243 INFO L87 Difference]: Start difference. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 09:05:17,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:05:17,251 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-15 09:05:17,251 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-15 09:05:17,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:05:17,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:05:17,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-15 09:05:17,253 INFO L87 Difference]: Start difference. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-15 09:05:17,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:05:17,261 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-15 09:05:17,261 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-15 09:05:17,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:05:17,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:05:17,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:05:17,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:05:17,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 09:05:17,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 567 transitions. [2022-04-15 09:05:17,271 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 567 transitions. Word has length 102 [2022-04-15 09:05:17,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:05:17,272 INFO L478 AbstractCegarLoop]: Abstraction has 410 states and 567 transitions. [2022-04-15 09:05:17,272 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:05:17,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 567 transitions. [2022-04-15 09:05:18,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 567 edges. 567 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:05:18,765 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 567 transitions. [2022-04-15 09:05:18,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-15 09:05:18,792 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:05:18,792 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:05:18,810 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 09:05:18,992 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 09:05:18,993 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:05:18,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:05:18,993 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-15 09:05:18,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:05:18,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [149431571] [2022-04-15 09:05:18,993 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:05:18,994 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-15 09:05:18,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:05:18,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [195469691] [2022-04-15 09:05:18,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:05:18,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:05:19,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:05:19,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1122442500] [2022-04-15 09:05:19,002 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 09:05:19,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:05:19,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:05:19,003 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:05:19,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 09:05:19,059 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 09:05:19,059 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:05:19,060 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 09:05:19,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:05:19,073 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:05:53,593 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:05:56,502 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:05:56,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {28452#true} call ULTIMATE.init(); {28452#true} is VALID [2022-04-15 09:05:56,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {28452#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {28452#true} is VALID [2022-04-15 09:05:56,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28452#true} {28452#true} #112#return; {28452#true} is VALID [2022-04-15 09:05:56,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {28452#true} call #t~ret6 := main(); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {28452#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L272 TraceCheckUtils]: 6: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28452#true} {28452#true} #94#return; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {28452#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L272 TraceCheckUtils]: 12: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28452#true} {28452#true} #96#return; {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L272 TraceCheckUtils]: 17: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28452#true} {28452#true} #98#return; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L272 TraceCheckUtils]: 22: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {28452#true} {28452#true} #100#return; {28452#true} is VALID [2022-04-15 09:05:56,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {28452#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,622 INFO L290 TraceCheckUtils]: 28: Hoare triple {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,623 INFO L290 TraceCheckUtils]: 31: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,623 INFO L272 TraceCheckUtils]: 33: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,623 INFO L290 TraceCheckUtils]: 34: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,624 INFO L290 TraceCheckUtils]: 36: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,624 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,624 INFO L272 TraceCheckUtils]: 38: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,624 INFO L290 TraceCheckUtils]: 40: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,625 INFO L290 TraceCheckUtils]: 41: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,643 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,643 INFO L272 TraceCheckUtils]: 43: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,643 INFO L290 TraceCheckUtils]: 44: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,643 INFO L290 TraceCheckUtils]: 45: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,643 INFO L290 TraceCheckUtils]: 46: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,644 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,644 INFO L272 TraceCheckUtils]: 48: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,644 INFO L290 TraceCheckUtils]: 49: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,644 INFO L290 TraceCheckUtils]: 50: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,644 INFO L290 TraceCheckUtils]: 51: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,645 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,645 INFO L290 TraceCheckUtils]: 53: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,646 INFO L272 TraceCheckUtils]: 55: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,646 INFO L290 TraceCheckUtils]: 56: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,646 INFO L290 TraceCheckUtils]: 57: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,646 INFO L290 TraceCheckUtils]: 58: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,647 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,647 INFO L272 TraceCheckUtils]: 60: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,647 INFO L290 TraceCheckUtils]: 62: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,647 INFO L290 TraceCheckUtils]: 63: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,648 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,648 INFO L272 TraceCheckUtils]: 65: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,648 INFO L290 TraceCheckUtils]: 67: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,648 INFO L290 TraceCheckUtils]: 68: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,649 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,649 INFO L272 TraceCheckUtils]: 70: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,649 INFO L290 TraceCheckUtils]: 71: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,649 INFO L290 TraceCheckUtils]: 72: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,649 INFO L290 TraceCheckUtils]: 73: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,650 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,650 INFO L290 TraceCheckUtils]: 75: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,650 INFO L290 TraceCheckUtils]: 76: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,650 INFO L272 TraceCheckUtils]: 77: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,650 INFO L290 TraceCheckUtils]: 78: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,651 INFO L290 TraceCheckUtils]: 79: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,651 INFO L290 TraceCheckUtils]: 80: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,651 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,651 INFO L272 TraceCheckUtils]: 82: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,651 INFO L290 TraceCheckUtils]: 83: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,652 INFO L290 TraceCheckUtils]: 84: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,652 INFO L290 TraceCheckUtils]: 85: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,652 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,652 INFO L272 TraceCheckUtils]: 87: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,652 INFO L290 TraceCheckUtils]: 88: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 09:05:56,652 INFO L290 TraceCheckUtils]: 89: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 09:05:56,653 INFO L290 TraceCheckUtils]: 90: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 09:05:56,653 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,653 INFO L272 TraceCheckUtils]: 92: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 09:05:56,653 INFO L290 TraceCheckUtils]: 93: Hoare triple {28452#true} ~cond := #in~cond; {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:05:56,654 INFO L290 TraceCheckUtils]: 94: Hoare triple {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:56,654 INFO L290 TraceCheckUtils]: 95: Hoare triple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:05:56,655 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,655 INFO L290 TraceCheckUtils]: 97: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,658 INFO L290 TraceCheckUtils]: 98: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,659 INFO L290 TraceCheckUtils]: 99: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,659 INFO L290 TraceCheckUtils]: 100: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:05:56,661 INFO L290 TraceCheckUtils]: 101: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-15 09:05:56,662 INFO L290 TraceCheckUtils]: 102: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !false; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-15 09:05:56,662 INFO L290 TraceCheckUtils]: 103: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !(0 != ~b~0); {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} is VALID [2022-04-15 09:05:56,663 INFO L272 TraceCheckUtils]: 104: Hoare triple {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:05:56,663 INFO L290 TraceCheckUtils]: 105: Hoare triple {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28781#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:05:56,664 INFO L290 TraceCheckUtils]: 106: Hoare triple {28781#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {28453#false} is VALID [2022-04-15 09:05:56,664 INFO L290 TraceCheckUtils]: 107: Hoare triple {28453#false} assume !false; {28453#false} is VALID [2022-04-15 09:05:56,664 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 58 proven. 5 refuted. 0 times theorem prover too weak. 271 trivial. 0 not checked. [2022-04-15 09:05:56,664 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:06:12,669 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:06:12,806 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:06:12,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [195469691] [2022-04-15 09:06:12,807 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:06:12,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1122442500] [2022-04-15 09:06:12,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1122442500] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 09:06:12,807 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 09:06:12,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-15 09:06:12,807 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:06:12,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [149431571] [2022-04-15 09:06:12,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [149431571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:06:12,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:06:12,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 09:06:12,808 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [522648472] [2022-04-15 09:06:12,808 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:06:12,808 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-15 09:06:12,808 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:06:12,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 09:06:12,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:06:12,857 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 09:06:12,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:06:12,858 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 09:06:12,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-15 09:06:12,858 INFO L87 Difference]: Start difference. First operand 410 states and 567 transitions. Second operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 09:06:15,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:06:15,620 INFO L93 Difference]: Finished difference Result 484 states and 662 transitions. [2022-04-15 09:06:15,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 09:06:15,620 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-15 09:06:15,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:06:15,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 09:06:15,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-15 09:06:15,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 09:06:15,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-15 09:06:15,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-15 09:06:15,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:06:15,767 INFO L225 Difference]: With dead ends: 484 [2022-04-15 09:06:15,767 INFO L226 Difference]: Without dead ends: 481 [2022-04-15 09:06:15,767 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-04-15 09:06:15,767 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 46 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 382 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 382 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 09:06:15,768 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 235 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 382 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 09:06:15,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 481 states. [2022-04-15 09:06:17,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 481 to 404. [2022-04-15 09:06:17,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:06:17,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 09:06:17,115 INFO L74 IsIncluded]: Start isIncluded. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 09:06:17,116 INFO L87 Difference]: Start difference. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 09:06:17,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:06:17,125 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-15 09:06:17,125 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-15 09:06:17,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:06:17,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:06:17,127 INFO L74 IsIncluded]: Start isIncluded. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-15 09:06:17,127 INFO L87 Difference]: Start difference. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-15 09:06:17,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:06:17,136 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-15 09:06:17,136 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-15 09:06:17,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:06:17,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:06:17,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:06:17,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:06:17,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 09:06:17,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 404 states to 404 states and 547 transitions. [2022-04-15 09:06:17,163 INFO L78 Accepts]: Start accepts. Automaton has 404 states and 547 transitions. Word has length 108 [2022-04-15 09:06:17,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:06:17,163 INFO L478 AbstractCegarLoop]: Abstraction has 404 states and 547 transitions. [2022-04-15 09:06:17,163 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 09:06:17,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 404 states and 547 transitions. [2022-04-15 09:06:18,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 547 edges. 547 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:06:18,715 INFO L276 IsEmpty]: Start isEmpty. Operand 404 states and 547 transitions. [2022-04-15 09:06:18,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-15 09:06:18,715 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:06:18,716 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:06:18,731 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-15 09:06:18,924 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:06:18,924 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:06:18,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:06:18,925 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 9 times [2022-04-15 09:06:18,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:06:18,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1944024199] [2022-04-15 09:06:18,925 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:06:18,925 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 10 times [2022-04-15 09:06:18,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:06:18,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [520167034] [2022-04-15 09:06:18,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:06:18,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:06:18,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:06:18,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [780863767] [2022-04-15 09:06:18,965 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:06:18,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:06:18,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:06:18,967 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:06:18,996 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 09:06:19,048 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:06:19,048 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:06:19,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 99 conjunts are in the unsatisfiable core [2022-04-15 09:06:19,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:06:19,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:06:21,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-15 09:06:21,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-15 09:06:21,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-15 09:06:21,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-15 09:06:21,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,015 INFO L290 TraceCheckUtils]: 28: Hoare triple {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,015 INFO L290 TraceCheckUtils]: 29: Hoare triple {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,016 INFO L290 TraceCheckUtils]: 32: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,017 INFO L290 TraceCheckUtils]: 34: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,018 INFO L272 TraceCheckUtils]: 38: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,018 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,018 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,018 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,018 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,018 INFO L272 TraceCheckUtils]: 43: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,019 INFO L272 TraceCheckUtils]: 48: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,019 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,020 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,020 INFO L272 TraceCheckUtils]: 53: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,020 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,020 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,020 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,021 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,021 INFO L290 TraceCheckUtils]: 58: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} is VALID [2022-04-15 09:06:21,022 INFO L290 TraceCheckUtils]: 59: Hoare triple {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 09:06:21,022 INFO L290 TraceCheckUtils]: 60: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 09:06:21,022 INFO L290 TraceCheckUtils]: 61: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 09:06:21,023 INFO L290 TraceCheckUtils]: 62: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,024 INFO L290 TraceCheckUtils]: 63: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,024 INFO L290 TraceCheckUtils]: 64: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,024 INFO L290 TraceCheckUtils]: 65: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,025 INFO L290 TraceCheckUtils]: 66: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,025 INFO L290 TraceCheckUtils]: 67: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,025 INFO L272 TraceCheckUtils]: 68: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= 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)); {31578#true} is VALID [2022-04-15 09:06:21,026 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:06:21,026 INFO L290 TraceCheckUtils]: 70: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,026 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,027 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #102#return; {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,027 INFO L272 TraceCheckUtils]: 73: Hoare triple {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,027 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:06:21,027 INFO L290 TraceCheckUtils]: 75: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,028 INFO L290 TraceCheckUtils]: 76: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,028 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,028 INFO L272 TraceCheckUtils]: 78: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,028 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,029 INFO L272 TraceCheckUtils]: 83: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:21,029 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:21,030 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,030 INFO L290 TraceCheckUtils]: 88: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,031 INFO L290 TraceCheckUtils]: 89: Hoare triple {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,031 INFO L290 TraceCheckUtils]: 90: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,032 INFO L290 TraceCheckUtils]: 91: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 09:06:21,033 INFO L290 TraceCheckUtils]: 92: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,033 INFO L290 TraceCheckUtils]: 93: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,034 INFO L290 TraceCheckUtils]: 94: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,034 INFO L290 TraceCheckUtils]: 95: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,035 INFO L290 TraceCheckUtils]: 96: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,035 INFO L290 TraceCheckUtils]: 97: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 09:06:21,035 INFO L272 TraceCheckUtils]: 98: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:21,035 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:06:21,036 INFO L290 TraceCheckUtils]: 100: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,036 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:21,037 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} #102#return; {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} is VALID [2022-04-15 09:06:21,038 INFO L272 TraceCheckUtils]: 103: Hoare triple {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:06:21,038 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:06:21,039 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-15 09:06:21,039 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-15 09:06:21,039 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 57 proven. 73 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-15 09:06:21,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:06:58,083 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-15 09:06:58,083 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-15 09:06:58,084 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:06:58,085 INFO L272 TraceCheckUtils]: 103: Hoare triple {31930#(= 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)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:06:58,086 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31934#(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)))))} #102#return; {31930#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 09:06:58,086 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:58,086 INFO L290 TraceCheckUtils]: 100: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:58,087 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:06:58,087 INFO L272 TraceCheckUtils]: 98: Hoare triple {31934#(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)); {31578#true} is VALID [2022-04-15 09:06:58,087 INFO L290 TraceCheckUtils]: 97: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,088 INFO L290 TraceCheckUtils]: 96: Hoare triple {31934#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,088 INFO L290 TraceCheckUtils]: 95: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,089 INFO L290 TraceCheckUtils]: 94: Hoare triple {31934#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,089 INFO L290 TraceCheckUtils]: 93: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,110 INFO L290 TraceCheckUtils]: 92: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 09:06:58,111 INFO L290 TraceCheckUtils]: 91: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,112 INFO L290 TraceCheckUtils]: 90: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,117 INFO L290 TraceCheckUtils]: 89: Hoare triple {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,118 INFO L290 TraceCheckUtils]: 88: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,119 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,119 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,119 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,119 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,119 INFO L272 TraceCheckUtils]: 83: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,122 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,123 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,123 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,123 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,123 INFO L272 TraceCheckUtils]: 78: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,124 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,124 INFO L290 TraceCheckUtils]: 76: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,124 INFO L290 TraceCheckUtils]: 75: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,124 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,124 INFO L272 TraceCheckUtils]: 73: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~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)); {31578#true} is VALID [2022-04-15 09:06:58,125 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,126 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:58,126 INFO L290 TraceCheckUtils]: 70: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:06:58,126 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:06:58,126 INFO L272 TraceCheckUtils]: 68: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,127 INFO L290 TraceCheckUtils]: 67: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,128 INFO L290 TraceCheckUtils]: 66: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,129 INFO L290 TraceCheckUtils]: 65: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 64: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 63: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 62: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 61: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 60: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 59: Hoare triple {31578#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 58: Hoare triple {31578#true} assume !(~c~0 >= 2 * ~v~0); {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31578#true} #108#return; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,131 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L272 TraceCheckUtils]: 53: Hoare triple {31578#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31578#true} #106#return; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L272 TraceCheckUtils]: 48: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31578#true} #104#return; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,132 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L272 TraceCheckUtils]: 43: Hoare triple {31578#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31578#true} #102#return; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L272 TraceCheckUtils]: 38: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {31578#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 34: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 33: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,133 INFO L290 TraceCheckUtils]: 32: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 28: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-15 09:06:58,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-15 09:06:58,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-15 09:06:58,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-15 09:06:58,137 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 87 proven. 18 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-15 09:06:58,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:06:58,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [520167034] [2022-04-15 09:06:58,137 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:06:58,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [780863767] [2022-04-15 09:06:58,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [780863767] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:06:58,138 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:06:58,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 13] total 30 [2022-04-15 09:06:58,138 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:06:58,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1944024199] [2022-04-15 09:06:58,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1944024199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:06:58,138 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:06:58,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 09:06:58,138 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [521568643] [2022-04-15 09:06:58,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:06:58,145 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-15 09:06:58,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:06:58,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:06:58,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:06:58,256 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 09:06:58,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:06:58,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 09:06:58,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=743, Unknown=0, NotChecked=0, Total=870 [2022-04-15 09:06:58,257 INFO L87 Difference]: Start difference. First operand 404 states and 547 transitions. Second operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:07:06,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:06,712 INFO L93 Difference]: Finished difference Result 515 states and 695 transitions. [2022-04-15 09:07:06,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 09:07:06,712 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-15 09:07:06,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:07:06,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:07:06,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 09:07:06,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:07:06,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 09:07:06,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 195 transitions. [2022-04-15 09:07:06,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:07:07,000 INFO L225 Difference]: With dead ends: 515 [2022-04-15 09:07:07,001 INFO L226 Difference]: Without dead ends: 513 [2022-04-15 09:07:07,001 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 183 SyntacticMatches, 2 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=222, Invalid=1338, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 09:07:07,002 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 81 mSDsluCounter, 525 mSDsCounter, 0 mSdLazyCounter, 1642 mSolverCounterSat, 73 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 581 SdHoareTripleChecker+Invalid, 1715 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 73 IncrementalHoareTripleChecker+Valid, 1642 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-15 09:07:07,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [103 Valid, 581 Invalid, 1715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [73 Valid, 1642 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-15 09:07:07,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 513 states. [2022-04-15 09:07:08,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 513 to 491. [2022-04-15 09:07:08,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:07:08,534 INFO L82 GeneralOperation]: Start isEquivalent. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 09:07:08,534 INFO L74 IsIncluded]: Start isIncluded. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 09:07:08,535 INFO L87 Difference]: Start difference. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 09:07:08,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:08,550 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-15 09:07:08,550 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-15 09:07:08,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:07:08,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:07:08,552 INFO L74 IsIncluded]: Start isIncluded. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-15 09:07:08,553 INFO L87 Difference]: Start difference. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-15 09:07:08,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:08,564 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-15 09:07:08,564 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-15 09:07:08,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:07:08,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:07:08,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:07:08,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:07:08,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 09:07:08,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 491 states to 491 states and 671 transitions. [2022-04-15 09:07:08,579 INFO L78 Accepts]: Start accepts. Automaton has 491 states and 671 transitions. Word has length 107 [2022-04-15 09:07:08,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:07:08,579 INFO L478 AbstractCegarLoop]: Abstraction has 491 states and 671 transitions. [2022-04-15 09:07:08,579 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:07:08,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 491 states and 671 transitions. [2022-04-15 09:07:10,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 671 edges. 671 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:07:10,738 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 671 transitions. [2022-04-15 09:07:10,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-15 09:07:10,738 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:07:10,738 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:07:10,754 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 09:07:10,951 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:07:10,951 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:07:10,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:07:10,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 7 times [2022-04-15 09:07:10,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:07:10,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [646382906] [2022-04-15 09:07:10,952 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:07:10,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 8 times [2022-04-15 09:07:10,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:07:10,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [839040443] [2022-04-15 09:07:10,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:07:10,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:07:10,978 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:07:10,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1403489251] [2022-04-15 09:07:10,978 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:07:10,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:07:10,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:07:10,987 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:07:10,988 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 09:07:11,044 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:07:11,044 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:07:11,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 74 conjunts are in the unsatisfiable core [2022-04-15 09:07:11,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:07:11,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:07:11,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-15 09:07:11,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-15 09:07:11,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,881 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-15 09:07:11,882 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,883 INFO L290 TraceCheckUtils]: 28: Hoare triple {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,883 INFO L290 TraceCheckUtils]: 29: Hoare triple {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,883 INFO L290 TraceCheckUtils]: 30: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,884 INFO L290 TraceCheckUtils]: 31: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,884 INFO L290 TraceCheckUtils]: 32: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,884 INFO L272 TraceCheckUtils]: 33: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,884 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,884 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,884 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,885 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,885 INFO L272 TraceCheckUtils]: 38: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,885 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,885 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,885 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,886 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,886 INFO L272 TraceCheckUtils]: 43: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,886 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,886 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,886 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,886 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,886 INFO L272 TraceCheckUtils]: 48: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,887 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,887 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,887 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,887 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,888 INFO L290 TraceCheckUtils]: 53: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,888 INFO L290 TraceCheckUtils]: 54: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,888 INFO L272 TraceCheckUtils]: 55: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,888 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,888 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,888 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,889 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,889 INFO L272 TraceCheckUtils]: 60: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,889 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,889 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,889 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,889 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,890 INFO L272 TraceCheckUtils]: 65: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,890 INFO L272 TraceCheckUtils]: 70: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,890 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,891 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,891 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,891 INFO L290 TraceCheckUtils]: 75: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,892 INFO L290 TraceCheckUtils]: 76: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,893 INFO L290 TraceCheckUtils]: 77: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,893 INFO L290 TraceCheckUtils]: 78: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,893 INFO L290 TraceCheckUtils]: 79: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,893 INFO L272 TraceCheckUtils]: 80: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,893 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:11,893 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:11,894 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:11,894 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,894 INFO L272 TraceCheckUtils]: 85: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {35307#true} is VALID [2022-04-15 09:07:11,894 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:07:11,894 INFO L290 TraceCheckUtils]: 87: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,895 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,895 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,895 INFO L272 TraceCheckUtils]: 90: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,895 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:07:11,896 INFO L290 TraceCheckUtils]: 92: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,896 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,897 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,897 INFO L272 TraceCheckUtils]: 95: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:11,897 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:07:11,897 INFO L290 TraceCheckUtils]: 97: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,897 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:11,898 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,898 INFO L290 TraceCheckUtils]: 100: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,899 INFO L290 TraceCheckUtils]: 101: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,899 INFO L290 TraceCheckUtils]: 102: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !false; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,899 INFO L290 TraceCheckUtils]: 103: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:07:11,900 INFO L290 TraceCheckUtils]: 104: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 09:07:11,900 INFO L290 TraceCheckUtils]: 105: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !false; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 09:07:11,900 INFO L290 TraceCheckUtils]: 106: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !(0 != ~b~0); {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 09:07:11,901 INFO L272 TraceCheckUtils]: 107: Hoare triple {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:07:11,901 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:07:11,901 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-15 09:07:11,901 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-15 09:07:11,902 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 09:07:11,902 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:07:51,123 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-15 09:07:51,124 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-15 09:07:51,124 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:07:51,125 INFO L272 TraceCheckUtils]: 107: Hoare triple {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:07:51,126 INFO L290 TraceCheckUtils]: 106: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 09:07:51,126 INFO L290 TraceCheckUtils]: 105: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 09:07:51,299 INFO L290 TraceCheckUtils]: 104: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 09:07:51,300 INFO L290 TraceCheckUtils]: 103: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,300 INFO L290 TraceCheckUtils]: 102: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,351 INFO L290 TraceCheckUtils]: 101: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,352 INFO L290 TraceCheckUtils]: 100: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,353 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,353 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,353 INFO L290 TraceCheckUtils]: 97: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,354 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:07:51,354 INFO L272 TraceCheckUtils]: 95: Hoare triple {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,355 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,355 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,355 INFO L290 TraceCheckUtils]: 92: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,356 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:07:51,356 INFO L272 TraceCheckUtils]: 90: Hoare triple {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,357 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,357 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,357 INFO L290 TraceCheckUtils]: 87: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:07:51,358 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:07:51,358 INFO L272 TraceCheckUtils]: 85: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {35307#true} is VALID [2022-04-15 09:07:51,359 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,359 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,359 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,359 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,359 INFO L272 TraceCheckUtils]: 80: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {35307#true} is VALID [2022-04-15 09:07:51,359 INFO L290 TraceCheckUtils]: 79: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,361 INFO L290 TraceCheckUtils]: 78: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 09:07:51,361 INFO L290 TraceCheckUtils]: 77: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 09:07:51,493 INFO L290 TraceCheckUtils]: 76: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 09:07:51,494 INFO L290 TraceCheckUtils]: 75: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !(~c~0 >= 2 * ~v~0); {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,495 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #108#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,495 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,495 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,495 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,495 INFO L272 TraceCheckUtils]: 70: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,496 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #106#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,496 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,496 INFO L272 TraceCheckUtils]: 65: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,497 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #104#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,497 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,497 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,497 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,497 INFO L272 TraceCheckUtils]: 60: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,498 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #102#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,498 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,498 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,498 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,498 INFO L272 TraceCheckUtils]: 55: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,499 INFO L290 TraceCheckUtils]: 54: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !false; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,640 INFO L290 TraceCheckUtils]: 53: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 09:07:51,641 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #108#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,642 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,642 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,642 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,642 INFO L272 TraceCheckUtils]: 48: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,643 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #106#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,643 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,643 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,643 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,643 INFO L272 TraceCheckUtils]: 43: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,644 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #104#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,644 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,644 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,644 INFO L272 TraceCheckUtils]: 38: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,645 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #102#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,645 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,645 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,645 INFO L272 TraceCheckUtils]: 33: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !false; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 09:07:51,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:07:51,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:07:51,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 09:07:51,664 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-15 09:07:51,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-15 09:07:51,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-15 09:07:51,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 09:07:51,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-15 09:07:51,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-15 09:07:51,666 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 09:07:51,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:07:51,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [839040443] [2022-04-15 09:07:51,667 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:07:51,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1403489251] [2022-04-15 09:07:51,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1403489251] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:07:51,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:07:51,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 18] total 29 [2022-04-15 09:07:51,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:07:51,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [646382906] [2022-04-15 09:07:51,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [646382906] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:07:51,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:07:51,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 09:07:51,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767177825] [2022-04-15 09:07:51,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:07:51,668 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-15 09:07:51,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:07:51,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 09:07:51,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:07:51,753 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 09:07:51,753 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:07:51,753 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 09:07:51,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=645, Unknown=0, NotChecked=0, Total=812 [2022-04-15 09:07:51,753 INFO L87 Difference]: Start difference. First operand 491 states and 671 transitions. Second operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 09:07:56,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:56,732 INFO L93 Difference]: Finished difference Result 584 states and 797 transitions. [2022-04-15 09:07:56,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 09:07:56,732 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-15 09:07:56,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:07:56,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 09:07:56,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 09:07:56,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 09:07:56,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 09:07:56,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 09:07:56,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:07:56,913 INFO L225 Difference]: With dead ends: 584 [2022-04-15 09:07:56,914 INFO L226 Difference]: Without dead ends: 581 [2022-04-15 09:07:56,914 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 191 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 269 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=207, Invalid=849, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 09:07:56,914 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 47 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 1040 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 396 SdHoareTripleChecker+Invalid, 1106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 1040 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:07:56,915 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 396 Invalid, 1106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 1040 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-15 09:07:56,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-15 09:07:57,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 524. [2022-04-15 09:07:57,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:07:57,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 09:07:57,937 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 09:07:57,938 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 09:07:57,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:57,951 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-15 09:07:57,951 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-15 09:07:57,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:07:57,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:07:57,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-15 09:07:57,954 INFO L87 Difference]: Start difference. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-15 09:07:57,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:07:57,970 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-15 09:07:57,970 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-15 09:07:57,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:07:57,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:07:57,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:07:57,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:07:57,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 09:07:57,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 524 states to 524 states and 717 transitions. [2022-04-15 09:07:57,987 INFO L78 Accepts]: Start accepts. Automaton has 524 states and 717 transitions. Word has length 111 [2022-04-15 09:07:57,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:07:57,987 INFO L478 AbstractCegarLoop]: Abstraction has 524 states and 717 transitions. [2022-04-15 09:07:57,987 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 09:07:57,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 524 states and 717 transitions. [2022-04-15 09:08:00,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 717 edges. 717 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:08:00,354 INFO L276 IsEmpty]: Start isEmpty. Operand 524 states and 717 transitions. [2022-04-15 09:08:00,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-15 09:08:00,355 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:08:00,355 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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] [2022-04-15 09:08:00,379 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 09:08:00,556 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 09:08:00,556 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:08:00,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:08:00,556 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 9 times [2022-04-15 09:08:00,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:08:00,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [389914745] [2022-04-15 09:08:00,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:08:00,557 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 10 times [2022-04-15 09:08:00,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:08:00,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [403262725] [2022-04-15 09:08:00,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:08:00,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:08:00,569 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:08:00,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [967561518] [2022-04-15 09:08:00,569 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:08:00,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:08:00,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:08:00,570 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:08:00,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 09:08:00,638 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:08:00,638 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:08:00,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 80 conjunts are in the unsatisfiable core [2022-04-15 09:08:00,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:08:00,660 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:09:00,894 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:09:09,076 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:09:13,097 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful