/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 08:54:40,269 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 08:54:40,281 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 08:54:40,339 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 08:54:40,339 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 08:54:40,340 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 08:54:40,342 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 08:54:40,344 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 08:54:40,346 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 08:54:40,350 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 08:54:40,350 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 08:54:40,351 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 08:54:40,352 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 08:54:40,353 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 08:54:40,355 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 08:54:40,358 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 08:54:40,358 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 08:54:40,359 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 08:54:40,360 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 08:54:40,361 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 08:54:40,361 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 08:54:40,363 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 08:54:40,363 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 08:54:40,364 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 08:54:40,365 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 08:54:40,375 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 08:54:40,375 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 08:54:40,375 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 08:54:40,376 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 08:54:40,376 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 08:54:40,377 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 08:54:40,377 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 08:54:40,377 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 08:54:40,378 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 08:54:40,378 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 08:54:40,379 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 08:54:40,379 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 08:54:40,379 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 08:54:40,379 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 08:54:40,379 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 08:54:40,380 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 08:54:40,382 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 08:54:40,383 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:40,393 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 08:54:40,393 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 08:54:40,394 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 08:54:40,394 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 08:54:40,395 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 08:54:40,395 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 08:54:40,395 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 08:54:40,395 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 08:54:40,395 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 08:54:40,396 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 08:54:40,396 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:54:40,397 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 08:54:40,397 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 08:54:40,397 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 08:54:40,397 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 08:54:40,397 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 08:54:40,397 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 08:54:40,397 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:40,586 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 08:54:40,601 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 08:54:40,603 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 08:54:40,603 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 08:54:40,606 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 08:54:40,606 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-15 08:54:40,654 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/663550168/cad62d281d474c0094be17910a2e6108/FLAG2e71871a0 [2022-04-15 08:54:41,028 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 08:54:41,029 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-15 08:54:41,034 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/663550168/cad62d281d474c0094be17910a2e6108/FLAG2e71871a0 [2022-04-15 08:54:41,045 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/663550168/cad62d281d474c0094be17910a2e6108 [2022-04-15 08:54:41,047 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 08:54:41,049 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 08:54:41,050 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 08:54:41,050 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 08:54:41,052 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 08:54:41,053 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:54:41" (1/1) ... [2022-04-15 08:54:41,054 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4286e6e2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:41, skipping insertion in model container [2022-04-15 08:54:41,054 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:54:41" (1/1) ... [2022-04-15 08:54:41,058 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 08:54:41,069 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 08:54:41,197 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_valuebound2.c[490,503] [2022-04-15 08:54:41,230 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:54:41,235 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 08:54:41,245 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_valuebound2.c[490,503] [2022-04-15 08:54:41,263 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:54:41,277 INFO L208 MainTranslator]: Completed translation [2022-04-15 08:54:41,277 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:41 WrapperNode [2022-04-15 08:54:41,277 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 08:54:41,278 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 08:54:41,278 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 08:54:41,278 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 08:54:41,285 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:41" (1/1) ... [2022-04-15 08:54:41,285 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:41" (1/1) ... [2022-04-15 08:54:41,291 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:41" (1/1) ... [2022-04-15 08:54:41,291 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:41" (1/1) ... [2022-04-15 08:54:41,304 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:41" (1/1) ... [2022-04-15 08:54:41,310 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:41" (1/1) ... [2022-04-15 08:54:41,313 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:41" (1/1) ... [2022-04-15 08:54:41,317 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 08:54:41,318 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 08:54:41,318 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 08:54:41,319 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 08:54:41,319 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:41" (1/1) ... [2022-04-15 08:54:41,324 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:54:41,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:41,338 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:41,364 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 08:54:41,365 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 08:54:41,365 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 08:54:41,365 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 08:54:41,365 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 08:54:41,365 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 08:54:41,365 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 08:54:41,365 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 08:54:41,365 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 08:54:41,366 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 08:54:41,366 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 08:54:41,359 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:41,368 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 08:54:41,369 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 08:54:41,416 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 08:54:41,418 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 08:54:41,608 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 08:54:41,613 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 08:54:41,613 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 08:54:41,614 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:54:41 BoogieIcfgContainer [2022-04-15 08:54:41,614 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 08:54:41,616 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 08:54:41,616 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 08:54:41,618 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 08:54:41,618 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 08:54:41" (1/3) ... [2022-04-15 08:54:41,618 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5bd073f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:54:41, skipping insertion in model container [2022-04-15 08:54:41,618 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:54:41" (2/3) ... [2022-04-15 08:54:41,619 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5bd073f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:54:41, skipping insertion in model container [2022-04-15 08:54:41,619 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:54:41" (3/3) ... [2022-04-15 08:54:41,619 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound2.c [2022-04-15 08:54:41,622 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 08:54:41,622 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 08:54:41,669 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 08:54:41,675 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:41,676 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 08:54:41,691 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:41,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:54:41,696 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:41,696 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:41,697 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:41,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:41,701 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 08:54:41,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:41,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1055236461] [2022-04-15 08:54:41,715 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:41,715 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 08:54:41,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:41,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1129057432] [2022-04-15 08:54:41,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:41,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:41,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:54:41,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,830 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:41,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:54:41,830 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:54:41,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:54:41,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:54:41,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 08:54:41,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:54:41,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 08:54:41,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,849 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:54:41,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 08:54:41,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:41,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:54:41,856 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:41,857 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:41,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:54:41,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:54:41,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 08:54:41,857 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:41,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:41,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:54:41,858 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:41,859 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-15 08:54:41,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,859 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:54:41,860 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:41,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,861 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:54:41,861 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:41,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:54:41,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:54:41,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:54:41,862 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:54:41,862 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:41,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 08:54:41,862 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:41,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 08:54:41,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 08:54:41,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 08:54:41,863 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:41,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:41,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1129057432] [2022-04-15 08:54:41,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1129057432] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:41,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:41,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:54:41,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:41,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1055236461] [2022-04-15 08:54:41,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1055236461] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:41,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:41,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:54:41,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370564459] [2022-04-15 08:54:41,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:41,871 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:41,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:41,874 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:41,902 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:41,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 08:54:41,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:41,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 08:54:41,931 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:54:41,937 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:42,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:42,148 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 08:54:42,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 08:54:42,149 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:42,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:42,151 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:42,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:54:42,166 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:42,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:54:42,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 08:54:42,282 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:42,289 INFO L225 Difference]: With dead ends: 73 [2022-04-15 08:54:42,290 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 08:54:42,292 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:42,294 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:42,296 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:42,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 08:54:42,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 08:54:42,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:42,318 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:42,318 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:42,318 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:42,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:42,323 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:54:42,323 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:42,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:42,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:42,325 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:42,326 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:42,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:42,330 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:54:42,330 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:42,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:42,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:42,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:42,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:42,331 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:42,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 08:54:42,336 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 08:54:42,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:42,336 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 08:54:42,337 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:42,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 08:54:42,376 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:42,376 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:54:42,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 08:54:42,378 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:42,378 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:42,378 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 08:54:42,378 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:42,390 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:42,390 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 08:54:42,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:42,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [220652135] [2022-04-15 08:54:42,391 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:42,391 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 08:54:42,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:42,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [18247441] [2022-04-15 08:54:42,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:42,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:42,439 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:42,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2020172250] [2022-04-15 08:54:42,440 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:42,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:42,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:42,443 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:42,444 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:42,489 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 08:54:42,489 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:42,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 08:54:42,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:42,507 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:42,716 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 08:54:42,716 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:42,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:42,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 08:54:42,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 08:54:42,717 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:42,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:42,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:42,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:42,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:42,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 08:54:42,718 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:42,718 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {353#true} is VALID [2022-04-15 08:54:42,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:42,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:42,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:42,718 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 08:54:42,718 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:42,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:42,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:42,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:42,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 08:54:42,719 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:42,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:54:42,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:54:42,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:54:42,720 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 08:54:42,720 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:42,721 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:42,721 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:42,722 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:42,722 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:42,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 08:54:42,723 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 08:54:42,723 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:42,723 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:54:42,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:42,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [18247441] [2022-04-15 08:54:42,724 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:42,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2020172250] [2022-04-15 08:54:42,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2020172250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:42,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:42,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:54:42,725 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:42,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [220652135] [2022-04-15 08:54:42,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [220652135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:42,725 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:42,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:54:42,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [380564237] [2022-04-15 08:54:42,725 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:42,726 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:42,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:42,726 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:42,743 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:42,743 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:54:42,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:42,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:54:42,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:54:42,744 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:43,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:43,044 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 08:54:43,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:54:43,045 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:43,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:43,045 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:43,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:54:43,047 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:43,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:54:43,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 08:54:43,102 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:43,103 INFO L225 Difference]: With dead ends: 54 [2022-04-15 08:54:43,103 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 08:54:43,104 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:43,104 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:43,105 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:43,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 08:54:43,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 08:54:43,113 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:43,113 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:43,114 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:43,114 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:43,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:43,116 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:54:43,116 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:54:43,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:43,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:43,117 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:43,117 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:43,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:43,119 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:54:43,119 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:54:43,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:43,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:43,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:43,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:43,120 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:43,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 08:54:43,122 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 08:54:43,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:43,122 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 08:54:43,123 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:43,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 08:54:43,177 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:43,178 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 08:54:43,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 08:54:43,178 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:43,178 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:43,196 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:43,390 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:43,390 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:43,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:43,391 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 08:54:43,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:43,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1070556260] [2022-04-15 08:54:43,391 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:43,391 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 08:54:43,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:43,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1215452413] [2022-04-15 08:54:43,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:43,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:43,414 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:43,414 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [920062123] [2022-04-15 08:54:43,414 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:43,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:43,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:43,415 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:43,416 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:43,451 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:43,451 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:43,452 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:54:43,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:43,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:43,589 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:54:43,589 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:43,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:54:43,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:54:43,590 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:43,590 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:43,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,590 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:54:43,590 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:43,590 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:43,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,591 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,591 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:54:43,591 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:43,591 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:43,592 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:43,592 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:43,593 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:43,593 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:43,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,593 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,593 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:43,594 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:43,594 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:43,595 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:43,595 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:43,595 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:43,596 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:43,596 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:43,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:54:43,597 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:43,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:54:43,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:54:43,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:54:43,597 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:43,597 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:43,785 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:54:43,785 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:54:43,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:54:43,786 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:43,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:54:43,786 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:43,787 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:43,787 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:43,787 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:43,788 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:43,788 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:43,788 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:43,789 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:43,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,789 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,789 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,789 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:43,790 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:43,790 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:43,790 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:43,791 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:43,791 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:43,791 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:54:43,791 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,791 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:43,792 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:43,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:54:43,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,792 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:43,792 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:43,792 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:43,792 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:43,792 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:54:43,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:54:43,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:43,793 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:43,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:54:43,793 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:43,793 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:43,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1215452413] [2022-04-15 08:54:43,793 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:43,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [920062123] [2022-04-15 08:54:43,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [920062123] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:43,794 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:43,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:54:43,794 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:43,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1070556260] [2022-04-15 08:54:43,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1070556260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:43,794 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:43,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:54:43,794 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [826180701] [2022-04-15 08:54:43,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:43,795 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:43,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:43,795 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:43,814 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:43,814 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:54:43,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:43,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:54:43,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:54:43,815 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:44,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:44,420 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 08:54:44,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:54:44,421 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:44,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:44,421 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:44,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:44,424 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:44,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:44,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 08:54:44,502 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:44,504 INFO L225 Difference]: With dead ends: 103 [2022-04-15 08:54:44,504 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 08:54:44,505 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:44,505 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:44,505 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.1s Time] [2022-04-15 08:54:44,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 08:54:44,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 08:54:44,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:44,575 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:44,575 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:44,576 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:44,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:44,580 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:44,580 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:44,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:44,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:44,581 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:44,582 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:44,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:44,586 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:44,586 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:44,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:44,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:44,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:44,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:44,587 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:44,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 08:54:44,589 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 08:54:44,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:44,589 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 08:54:44,590 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:44,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 08:54:44,672 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:44,672 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 08:54:44,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 08:54:44,673 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:44,673 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:44,691 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 08:54:44,889 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:44,889 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:44,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:44,889 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 08:54:44,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:44,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [839089057] [2022-04-15 08:54:44,890 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:44,890 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 08:54:44,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:44,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291942740] [2022-04-15 08:54:44,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:44,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:44,906 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:44,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1295457331] [2022-04-15 08:54:44,906 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:44,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:44,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:44,907 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:44,908 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:44,944 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:44,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:44,945 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:54:44,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:44,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:45,448 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:45,448 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:45,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:45,449 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:45,449 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,449 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:45,449 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:45,449 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,450 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:45,450 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:45,450 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:45,451 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 2))} is VALID [2022-04-15 08:54:45,451 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,452 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:45,452 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:45,452 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:45,453 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:54:45,453 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:54:45,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~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_~y~0 2) (= 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:54:45,455 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,458 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:54:45,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~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; {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-15 08:54:45,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} assume !false; {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-15 08:54:45,460 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:45,461 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:45,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:45,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:45,462 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:45,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:45,816 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:45,817 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:45,817 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:45,818 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:45,818 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:45,819 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:45,819 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:45,820 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:45,820 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:45,821 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:45,821 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:45,821 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:45,822 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:45,822 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:45,823 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:45,823 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,823 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:45,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,824 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:45,824 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,824 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:45,824 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,824 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:45,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:45,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:45,825 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:45,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:45,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:45,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:45,825 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:45,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:45,825 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:45,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:45,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1291942740] [2022-04-15 08:54:45,826 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:45,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1295457331] [2022-04-15 08:54:45,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1295457331] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:45,826 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:45,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 08:54:45,826 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:45,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [839089057] [2022-04-15 08:54:45,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [839089057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:45,827 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:45,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:54:45,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617170287] [2022-04-15 08:54:45,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:45,827 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:45,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:45,828 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:45,869 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:45,869 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:54:45,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:45,869 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:54:45,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:54:45,870 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:54:47,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:47,099 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-15 08:54:47,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 08:54:47,099 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:47,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:47,099 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:54:47,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 08:54:47,109 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:54:47,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 08:54:47,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-15 08:54:47,204 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:54:47,207 INFO L225 Difference]: With dead ends: 112 [2022-04-15 08:54:47,207 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 08:54:47,207 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:54:47,208 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:54:47,208 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:54:47,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 08:54:47,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-15 08:54:47,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:47,344 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:54:47,345 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:54:47,345 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:54:47,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:47,349 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 08:54:47,349 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 08:54:47,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:47,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:47,350 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:54:47,350 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:54:47,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:47,354 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 08:54:47,354 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 08:54:47,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:47,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:47,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:47,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:47,355 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:54:47,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-15 08:54:47,357 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-15 08:54:47,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:47,358 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-15 08:54:47,358 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:54:47,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-15 08:54:47,472 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:54:47,472 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-15 08:54:47,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:54:47,472 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:47,472 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:54:47,489 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 08:54:47,686 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:54:47,686 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:47,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:47,687 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 08:54:47,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:47,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718064822] [2022-04-15 08:54:47,687 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:47,687 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 08:54:47,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:47,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1409567055] [2022-04-15 08:54:47,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:47,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:47,703 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:47,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [532609862] [2022-04-15 08:54:47,703 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:47,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:47,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:47,704 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:54:47,705 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:54:47,748 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:47,748 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:47,749 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 08:54:47,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:47,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:47,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 08:54:47,976 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:54:47,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 08:54:47,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 08:54:47,977 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:54:47,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:47,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:47,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:47,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,977 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 08:54:47,977 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:54:47,977 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:47,978 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:54:47,978 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:54:47,979 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:54:47,979 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 2))} is VALID [2022-04-15 08:54:47,979 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:47,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:47,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:47,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,980 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:54:47,980 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:47,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:47,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:47,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,980 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:54:47,981 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~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:54:47,981 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 08:54:47,981 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:54:47,982 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:54:47,984 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:54:47,984 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:54:47,984 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:54:47,984 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:47,985 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:47,985 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,985 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:54:47,986 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:54:47,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:47,986 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:47,986 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:47,986 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:54:47,987 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:54:47,987 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:54:47,988 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 08:54:47,988 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 08:54:47,988 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:54:47,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:48,185 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 08:54:48,186 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 08:54:48,186 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:54:48,186 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:54:48,187 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:54:48,187 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,187 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:54:48,188 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:54:48,188 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,188 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:54:48,189 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:54:48,189 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:54:48,190 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:54:48,190 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:54:48,190 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-15 08:54:48,190 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:54:48,190 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-15 08:54:48,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,190 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,191 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:54:48,191 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,191 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:54:48,191 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,191 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:48,191 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:54:48,192 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-15 08:54:48,192 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:54:48,192 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 08:54:48,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 08:54:48,192 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:54:48,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 08:54:48,193 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:54:48,193 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:48,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1409567055] [2022-04-15 08:54:48,193 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:48,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [532609862] [2022-04-15 08:54:48,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [532609862] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:54:48,193 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:54:48,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 08:54:48,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:48,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718064822] [2022-04-15 08:54:48,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718064822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:48,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:48,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:48,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1126013928] [2022-04-15 08:54:48,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:48,194 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:54:48,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:48,195 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:54:48,214 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:54:48,214 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:54:48,214 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:48,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:54:48,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:54:48,215 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:54:48,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:48,575 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-15 08:54:48,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:54:48,576 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:54:48,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:48,576 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:54:48,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:48,577 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:54:48,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:48,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:54:48,619 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:54:48,621 INFO L225 Difference]: With dead ends: 130 [2022-04-15 08:54:48,621 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 08:54:48,622 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:54:48,622 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:54:48,623 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:54:48,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 08:54:48,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-15 08:54:48,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:48,842 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:54:48,842 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:54:48,843 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:54:48,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:48,847 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 08:54:48,847 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 08:54:48,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:48,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:48,847 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:54:48,848 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:54:48,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:48,851 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 08:54:48,852 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 08:54:48,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:48,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:48,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:48,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:48,852 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:54:48,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-15 08:54:48,856 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-15 08:54:48,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:48,856 INFO L478 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-15 08:54:48,856 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:54:48,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-15 08:54:49,037 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:54:49,038 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-15 08:54:49,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:54:49,038 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:49,038 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:54:49,056 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:54:49,247 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:54:49,248 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:49,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:49,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-15 08:54:49,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:49,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1393760180] [2022-04-15 08:54:49,248 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:49,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-15 08:54:49,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:49,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [728597973] [2022-04-15 08:54:49,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:49,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:49,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:49,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1523275500] [2022-04-15 08:54:49,263 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:49,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:49,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:49,264 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:54:49,264 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:54:49,299 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:49,299 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:49,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-15 08:54:49,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:49,310 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:49,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 08:54:49,867 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:54:49,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:49,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 08:54:49,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 08:54:49,867 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:54:49,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:49,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:49,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:49,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:49,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 08:54:49,868 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:54:49,868 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:49,868 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:54:49,869 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:54:49,869 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:54:49,869 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 2))} is VALID [2022-04-15 08:54:49,869 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:49,870 INFO L290 TraceCheckUtils]: 18: 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:54:49,870 INFO L290 TraceCheckUtils]: 19: 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:54:49,874 INFO L290 TraceCheckUtils]: 20: 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:54:49,875 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:54:49,875 INFO L272 TraceCheckUtils]: 22: Hoare triple {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:49,875 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:54:49,876 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:54:49,876 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:54:49,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {3617#(and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-15 08:54:49,877 INFO L290 TraceCheckUtils]: 27: Hoare triple {3617#(and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:49,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:49,878 INFO L290 TraceCheckUtils]: 29: Hoare triple {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:49,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:49,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3635#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:49,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {3635#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= 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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,885 INFO L290 TraceCheckUtils]: 34: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,886 INFO L290 TraceCheckUtils]: 36: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,887 INFO L272 TraceCheckUtils]: 38: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} 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:54:49,887 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:49,887 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:49,887 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:49,892 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 08:54:49,893 INFO L272 TraceCheckUtils]: 43: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:49,893 INFO L290 TraceCheckUtils]: 44: Hoare triple {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3677#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:49,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {3677#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 08:54:49,894 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 08:54:49,895 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 11 proven. 4 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 08:54:49,895 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:50,246 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 08:54:50,246 INFO L290 TraceCheckUtils]: 45: Hoare triple {3677#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 08:54:50,246 INFO L290 TraceCheckUtils]: 44: Hoare triple {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3677#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:50,247 INFO L272 TraceCheckUtils]: 43: Hoare triple {3693#(= 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)); {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:50,254 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:50,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:50,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:50,254 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:50,255 INFO L272 TraceCheckUtils]: 38: Hoare triple {3693#(= 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:54:50,255 INFO L290 TraceCheckUtils]: 37: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:50,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {3693#(= 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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:50,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:50,266 INFO L290 TraceCheckUtils]: 34: Hoare triple {3693#(= 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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:50,267 INFO L290 TraceCheckUtils]: 33: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:52,268 WARN L290 TraceCheckUtils]: 32: Hoare triple {3727#(= (+ (* (+ (* (* 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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 08:54:52,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {3731#(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) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {3727#(= (+ (* (+ (* (* 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:54:52,272 INFO L290 TraceCheckUtils]: 30: Hoare triple {3731#(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) (<= main_~b~0 main_~c~0))} assume !false; {3731#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:54:52,272 INFO L290 TraceCheckUtils]: 29: Hoare triple {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3731#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:54:52,272 INFO L290 TraceCheckUtils]: 28: Hoare triple {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-15 08:54:52,273 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; {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-15 08:54:52,273 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-15 08:54:52,273 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:52,273 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:52,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:52,273 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:54:52,273 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-15 08:54:52,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:52,274 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:54:52,274 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:52,274 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:54:52,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 08:54:52,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 08:54:52,275 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-15 08:54:52,275 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:54:52,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 08:54:52,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 08:54:52,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 08:54:52,275 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:54:52,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 08:54:52,275 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:54:52,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:52,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [728597973] [2022-04-15 08:54:52,276 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:52,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1523275500] [2022-04-15 08:54:52,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1523275500] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:52,276 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:52,276 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 17 [2022-04-15 08:54:52,276 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:52,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1393760180] [2022-04-15 08:54:52,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1393760180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:52,276 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:52,276 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:54:52,276 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497747354] [2022-04-15 08:54:52,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:52,277 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 47 [2022-04-15 08:54:52,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:52,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 08:54:52,307 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:54:52,307 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:54:52,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:52,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:54:52,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:54:52,308 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 08:54:53,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:53,490 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-15 08:54:53,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 08:54:53,490 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 47 [2022-04-15 08:54:53,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:53,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 08:54:53,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-15 08:54:53,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 08:54:53,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-15 08:54:53,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-15 08:54:53,581 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:54:53,584 INFO L225 Difference]: With dead ends: 137 [2022-04-15 08:54:53,584 INFO L226 Difference]: Without dead ends: 135 [2022-04-15 08:54:53,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:54:53,585 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 50 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:53,585 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 259 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 08:54:53,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-15 08:54:53,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-15 08:54:53,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:53,844 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:54:53,845 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:54:53,845 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:54:53,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:53,849 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 08:54:53,849 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 08:54:53,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:53,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:53,850 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:54:53,850 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:54:53,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:53,853 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 08:54:53,853 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 08:54:53,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:53,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:53,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:53,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:53,854 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:54:53,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-15 08:54:53,858 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-15 08:54:53,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:53,858 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-15 08:54:53,858 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 08:54:53,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-15 08:54:54,040 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:54:54,041 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-15 08:54:54,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:54:54,041 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:54,041 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:54:54,057 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:54:54,257 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:54:54,257 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:54,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:54,257 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-15 08:54:54,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:54,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1225963304] [2022-04-15 08:54:54,258 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:54,258 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-15 08:54:54,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:54,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [565157013] [2022-04-15 08:54:54,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:54,258 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:54,275 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:54,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651985555] [2022-04-15 08:54:54,275 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:54:54,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:54,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:54,276 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:54:54,277 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:54:54,322 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:54:54,322 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:54,322 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 08:54:54,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:54,331 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:54,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {4642#true} call ULTIMATE.init(); {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {4642#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); {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4642#true} {4642#true} #112#return; {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L272 TraceCheckUtils]: 4: Hoare triple {4642#true} call #t~ret6 := main(); {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L290 TraceCheckUtils]: 5: Hoare triple {4642#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; {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L272 TraceCheckUtils]: 6: Hoare triple {4642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-15 08:54:54,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4642#true} {4642#true} #94#return; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 11: Hoare triple {4642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L272 TraceCheckUtils]: 12: Hoare triple {4642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4642#true} {4642#true} #96#return; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L272 TraceCheckUtils]: 17: Hoare triple {4642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 19: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-15 08:54:54,436 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4642#true} {4642#true} #98#return; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L272 TraceCheckUtils]: 22: Hoare triple {4642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4642#true} {4642#true} #100#return; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {4642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 28: Hoare triple {4642#true} assume !false; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {4642#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4642#true} is VALID [2022-04-15 08:54:54,437 INFO L290 TraceCheckUtils]: 30: Hoare triple {4642#true} assume !false; {4642#true} is VALID [2022-04-15 08:54:54,443 INFO L290 TraceCheckUtils]: 31: Hoare triple {4642#true} assume !(~c~0 >= ~b~0); {4740#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:54:54,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {4740#(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; {4744#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:54,443 INFO L290 TraceCheckUtils]: 33: Hoare triple {4744#(< main_~b~0 main_~a~0)} assume !false; {4744#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:54,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {4744#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4751#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:54,444 INFO L290 TraceCheckUtils]: 35: Hoare triple {4751#(< main_~b~0 main_~c~0)} assume !false; {4751#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:54,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {4751#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4643#false} is VALID [2022-04-15 08:54:54,444 INFO L290 TraceCheckUtils]: 37: Hoare triple {4643#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; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 38: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 39: Hoare triple {4643#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 41: Hoare triple {4643#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 42: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L272 TraceCheckUtils]: 43: Hoare triple {4643#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {4643#false} ~cond := #in~cond; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {4643#false} assume 0 == ~cond; {4643#false} is VALID [2022-04-15 08:54:54,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-15 08:54:54,445 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:54:54,445 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:54:54,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:54,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [565157013] [2022-04-15 08:54:54,446 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:54,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651985555] [2022-04-15 08:54:54,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651985555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:54,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:54,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:54,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:54,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1225963304] [2022-04-15 08:54:54,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1225963304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:54,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:54,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:54,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2037081664] [2022-04-15 08:54:54,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:54,447 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:54:54,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:54,447 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:54:54,468 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:54:54,468 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:54:54,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:54,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:54:54,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:54:54,468 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:54:54,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:54,901 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-15 08:54:54,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:54:54,901 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:54:54,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:54,901 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:54:54,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 08:54:54,903 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:54:54,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 08:54:54,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-15 08:54:54,970 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:54:54,972 INFO L225 Difference]: With dead ends: 170 [2022-04-15 08:54:54,972 INFO L226 Difference]: Without dead ends: 114 [2022-04-15 08:54:54,973 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:54:54,973 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:54:54,974 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:54:54,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-15 08:54:55,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-15 08:54:55,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:55,178 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:54:55,179 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:54:55,179 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:54:55,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:55,182 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 08:54:55,182 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 08:54:55,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:55,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:55,182 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:54:55,183 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:54:55,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:55,185 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 08:54:55,185 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 08:54:55,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:55,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:55,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:55,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:55,186 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:54:55,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-15 08:54:55,189 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-15 08:54:55,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:55,189 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-15 08:54:55,189 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:54:55,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-15 08:54:55,380 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:54:55,381 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-15 08:54:55,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 08:54:55,381 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:55,381 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:54:55,397 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 08:54:55,581 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:54:55,582 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:55,582 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:55,582 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 08:54:55,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:55,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1566314016] [2022-04-15 08:54:55,583 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:55,583 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 08:54:55,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:55,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1290971795] [2022-04-15 08:54:55,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:55,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:55,606 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:55,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [546674843] [2022-04-15 08:54:55,607 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:55,607 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:55,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:55,624 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:54:55,625 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:54:55,660 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:55,660 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:55,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 08:54:55,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:55,669 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:55,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {5572#true} call ULTIMATE.init(); {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {5572#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); {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5572#true} {5572#true} #112#return; {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {5572#true} call #t~ret6 := main(); {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {5572#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; {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {5572#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5572#true} is VALID [2022-04-15 08:54:55,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5572#true} {5572#true} #94#return; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 11: Hoare triple {5572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L272 TraceCheckUtils]: 12: Hoare triple {5572#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5572#true} {5572#true} #96#return; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L272 TraceCheckUtils]: 17: Hoare triple {5572#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 18: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5572#true} {5572#true} #98#return; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L272 TraceCheckUtils]: 22: Hoare triple {5572#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5572#true} {5572#true} #100#return; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {5572#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 28: Hoare triple {5572#true} assume !false; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 29: Hoare triple {5572#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5572#true} is VALID [2022-04-15 08:54:55,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {5572#true} assume !false; {5572#true} is VALID [2022-04-15 08:54:55,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {5572#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:54:55,841 INFO L290 TraceCheckUtils]: 32: Hoare triple {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:54:55,841 INFO L272 TraceCheckUtils]: 33: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-15 08:54:55,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,841 INFO L290 TraceCheckUtils]: 35: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,842 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:54:55,842 INFO L272 TraceCheckUtils]: 38: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-15 08:54:55,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,842 INFO L290 TraceCheckUtils]: 40: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,842 INFO L290 TraceCheckUtils]: 41: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,843 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:54:55,843 INFO L272 TraceCheckUtils]: 43: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-15 08:54:55,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-15 08:54:55,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-15 08:54:55,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-15 08:54:55,843 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 08:54:55,844 INFO L272 TraceCheckUtils]: 48: Hoare triple {5670#(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)); {5722#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:55,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {5722#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5726#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:55,845 INFO L290 TraceCheckUtils]: 50: Hoare triple {5726#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5573#false} is VALID [2022-04-15 08:54:55,845 INFO L290 TraceCheckUtils]: 51: Hoare triple {5573#false} assume !false; {5573#false} is VALID [2022-04-15 08:54:55,845 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:54:55,845 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:54:55,845 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:55,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1290971795] [2022-04-15 08:54:55,845 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:55,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [546674843] [2022-04-15 08:54:55,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [546674843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:55,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:55,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:55,846 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:55,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1566314016] [2022-04-15 08:54:55,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1566314016] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:55,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:55,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:55,846 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1213591749] [2022-04-15 08:54:55,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:55,846 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:54:55,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:55,847 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:54:55,869 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:54:55,869 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:54:55,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:55,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:54:55,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:54:55,870 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:54:56,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,357 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-15 08:54:56,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:54:56,358 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:54:56,358 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:56,358 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:54:56,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:56,360 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:54:56,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:56,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:54:56,402 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:54:56,405 INFO L225 Difference]: With dead ends: 158 [2022-04-15 08:54:56,405 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 08:54:56,405 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:54:56,405 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:54:56,406 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:54:56,406 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 08:54:56,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-15 08:54:56,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:56,704 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:54:56,705 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:54:56,705 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:54:56,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,709 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 08:54:56,709 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 08:54:56,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:56,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:56,714 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:54:56,715 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:54:56,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:56,719 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 08:54:56,719 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 08:54:56,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:56,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:56,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:56,720 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:56,720 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:54:56,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-15 08:54:56,724 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-15 08:54:56,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:56,725 INFO L478 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-15 08:54:56,725 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:54:56,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-15 08:54:56,978 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:54:56,979 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-15 08:54:56,979 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 08:54:56,979 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:56,979 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:54:56,995 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:54:57,180 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:54:57,180 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:57,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:57,180 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 08:54:57,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:57,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1537106439] [2022-04-15 08:54:57,181 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:57,181 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 08:54:57,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:57,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482756057] [2022-04-15 08:54:57,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:57,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:57,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:57,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [958013850] [2022-04-15 08:54:57,193 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:57,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:57,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:57,194 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:54:57,195 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:54:57,239 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:57,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:57,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-15 08:54:57,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:57,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:57,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {6642#true} call ULTIMATE.init(); {6642#true} is VALID [2022-04-15 08:54:57,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {6642#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); {6642#true} is VALID [2022-04-15 08:54:57,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6642#true} {6642#true} #112#return; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {6642#true} call #t~ret6 := main(); {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {6642#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; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6642#true} {6642#true} #94#return; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {6642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L272 TraceCheckUtils]: 12: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6642#true} {6642#true} #96#return; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L272 TraceCheckUtils]: 17: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6642#true} {6642#true} #98#return; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L272 TraceCheckUtils]: 22: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,892 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6642#true} {6642#true} #100#return; {6642#true} is VALID [2022-04-15 08:54:57,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {6642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6728#(and (= main_~r~0 0) (= 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:57,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {6728#(and (= main_~r~0 0) (= 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; {6728#(and (= main_~r~0 0) (= 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:57,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {6728#(and (= main_~r~0 0) (= 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; {6735#(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 08:54:57,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {6735#(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; {6735#(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 08:54:57,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {6735#(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; {6742#(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 08:54:57,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {6742#(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; {6742#(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 08:54:57,896 INFO L272 TraceCheckUtils]: 33: Hoare triple {6742#(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)); {6642#true} is VALID [2022-04-15 08:54:57,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {6642#true} ~cond := #in~cond; {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:57,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:57,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:57,898 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6742#(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; {6763#(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:54:57,898 INFO L272 TraceCheckUtils]: 38: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-15 08:54:57,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {6642#true} ~cond := #in~cond; {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:57,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:57,899 INFO L290 TraceCheckUtils]: 41: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:57,899 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6763#(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; {6763#(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:54:57,899 INFO L272 TraceCheckUtils]: 43: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-15 08:54:57,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,900 INFO L290 TraceCheckUtils]: 45: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,900 INFO L290 TraceCheckUtils]: 46: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,900 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6642#true} {6763#(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; {6763#(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:54:57,900 INFO L272 TraceCheckUtils]: 48: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-15 08:54:57,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:54:57,901 INFO L290 TraceCheckUtils]: 50: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:54:57,901 INFO L290 TraceCheckUtils]: 51: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:54:57,901 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6642#true} {6763#(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; {6763#(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:54:57,902 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#(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); {6763#(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:54:57,902 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#(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; {6815#(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:54:57,903 INFO L290 TraceCheckUtils]: 55: Hoare triple {6815#(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; {6815#(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:54:57,903 INFO L290 TraceCheckUtils]: 56: Hoare triple {6815#(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); {6815#(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:54:57,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {6815#(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; {6825#(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:54:57,904 INFO L290 TraceCheckUtils]: 58: Hoare triple {6825#(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; {6825#(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:54:57,905 INFO L290 TraceCheckUtils]: 59: Hoare triple {6825#(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); {6832#(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:54:57,905 INFO L272 TraceCheckUtils]: 60: Hoare triple {6832#(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)); {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:57,906 INFO L290 TraceCheckUtils]: 61: Hoare triple {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6840#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:57,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {6840#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6643#false} is VALID [2022-04-15 08:54:57,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {6643#false} assume !false; {6643#false} is VALID [2022-04-15 08:54:57,906 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 08:54:57,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:55:34,266 INFO L290 TraceCheckUtils]: 63: Hoare triple {6643#false} assume !false; {6643#false} is VALID [2022-04-15 08:55:34,266 INFO L290 TraceCheckUtils]: 62: Hoare triple {6840#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6643#false} is VALID [2022-04-15 08:55:34,266 INFO L290 TraceCheckUtils]: 61: Hoare triple {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6840#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:34,267 INFO L272 TraceCheckUtils]: 60: Hoare triple {6856#(= (+ (* 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)); {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:34,268 INFO L290 TraceCheckUtils]: 59: Hoare triple {6860#(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); {6856#(= (+ (* 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:55:34,268 INFO L290 TraceCheckUtils]: 58: Hoare triple {6860#(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; {6860#(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:55:34,316 INFO L290 TraceCheckUtils]: 57: Hoare triple {6867#(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; {6860#(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:55:34,317 INFO L290 TraceCheckUtils]: 56: Hoare triple {6867#(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); {6867#(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:55:34,317 INFO L290 TraceCheckUtils]: 55: Hoare triple {6867#(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; {6867#(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:55:34,362 INFO L290 TraceCheckUtils]: 54: Hoare triple {6877#(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; {6867#(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:55:34,363 INFO L290 TraceCheckUtils]: 53: Hoare triple {6877#(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); {6877#(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:55:34,363 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6642#true} {6877#(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; {6877#(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:55:34,364 INFO L290 TraceCheckUtils]: 51: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,364 INFO L290 TraceCheckUtils]: 49: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,364 INFO L272 TraceCheckUtils]: 48: Hoare triple {6877#(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)); {6642#true} is VALID [2022-04-15 08:55:34,364 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6642#true} {6877#(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; {6877#(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:55:34,365 INFO L290 TraceCheckUtils]: 46: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,365 INFO L290 TraceCheckUtils]: 45: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,365 INFO L272 TraceCheckUtils]: 43: Hoare triple {6877#(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)); {6642#true} is VALID [2022-04-15 08:55:34,366 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6914#(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; {6877#(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:55:34,366 INFO L290 TraceCheckUtils]: 41: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:34,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:34,367 INFO L290 TraceCheckUtils]: 39: Hoare triple {6642#true} ~cond := #in~cond; {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:55:34,367 INFO L272 TraceCheckUtils]: 38: Hoare triple {6914#(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)); {6642#true} is VALID [2022-04-15 08:55:34,368 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6931#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {6914#(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:55:34,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:34,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:34,369 INFO L290 TraceCheckUtils]: 34: Hoare triple {6642#true} ~cond := #in~cond; {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:55:34,369 INFO L272 TraceCheckUtils]: 33: Hoare triple {6931#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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)); {6642#true} is VALID [2022-04-15 08:55:34,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {6931#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {6931#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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:55:34,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {6950#(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_~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_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6931#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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:55:34,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {6950#(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_~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_~c~0 main_~b~0)))} assume !false; {6950#(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_~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_~c~0 main_~b~0)))} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 29: Hoare triple {6642#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6950#(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_~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_~c~0 main_~b~0)))} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {6642#true} assume !false; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {6642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6642#true} {6642#true} #100#return; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L272 TraceCheckUtils]: 22: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6642#true} {6642#true} #98#return; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L272 TraceCheckUtils]: 17: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6642#true} {6642#true} #96#return; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L272 TraceCheckUtils]: 12: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 11: Hoare triple {6642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6642#true} {6642#true} #94#return; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 9: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-15 08:55:34,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {6642#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; {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {6642#true} call #t~ret6 := main(); {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6642#true} {6642#true} #112#return; {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {6642#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); {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {6642#true} call ULTIMATE.init(); {6642#true} is VALID [2022-04-15 08:55:34,374 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 08:55:34,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:55:34,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1482756057] [2022-04-15 08:55:34,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:55:34,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [958013850] [2022-04-15 08:55:34,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [958013850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:55:34,375 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:55:34,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-15 08:55:34,375 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:55:34,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1537106439] [2022-04-15 08:55:34,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1537106439] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:55:34,375 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:55:34,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:55:34,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1758953331] [2022-04-15 08:55:34,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:55:34,376 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-15 08:55:34,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:55:34,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:34,411 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:55:34,411 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:55:34,411 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:34,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:55:34,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:55:34,412 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:36,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:36,381 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-15 08:55:36,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 08:55:36,381 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-15 08:55:36,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:36,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:36,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 08:55:36,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:36,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 08:55:36,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-15 08:55:36,501 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:55:36,504 INFO L225 Difference]: With dead ends: 200 [2022-04-15 08:55:36,504 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 08:55:36,505 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=97, Invalid=503, Unknown=0, NotChecked=0, Total=600 [2022-04-15 08:55:36,505 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 48 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 613 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 645 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 613 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:36,505 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [64 Valid, 306 Invalid, 645 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 613 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 08:55:36,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 08:55:36,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-15 08:55:36,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:36,941 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:55:36,942 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:55:36,942 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:55:36,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:36,948 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 08:55:36,948 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 08:55:36,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:36,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:36,949 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:55:36,950 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:55:36,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:36,966 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 08:55:36,966 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 08:55:36,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:36,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:36,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:36,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:36,967 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:55:36,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-15 08:55:36,973 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-15 08:55:36,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:36,973 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-15 08:55:36,973 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:36,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-15 08:55:37,349 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:55:37,349 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-15 08:55:37,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 08:55:37,349 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:37,350 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:55:37,368 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:55:37,565 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:55:37,566 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:37,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:37,566 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-15 08:55:37,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:37,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [125409493] [2022-04-15 08:55:37,566 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:37,567 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-15 08:55:37,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:37,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132576149] [2022-04-15 08:55:37,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:37,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:37,577 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:37,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [278525255] [2022-04-15 08:55:37,577 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:55:37,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:37,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:37,578 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:55:37,579 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:55:37,617 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:55:37,617 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:37,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 08:55:37,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:37,629 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:37,829 INFO L272 TraceCheckUtils]: 0: Hoare triple {8234#true} call ULTIMATE.init(); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {8234#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); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#true} {8234#true} #112#return; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#true} call #t~ret6 := main(); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {8234#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; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8234#true} {8234#true} #94#return; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {8234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L272 TraceCheckUtils]: 12: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8234#true} {8234#true} #96#return; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L272 TraceCheckUtils]: 17: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8234#true} {8234#true} #98#return; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L272 TraceCheckUtils]: 22: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,832 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8234#true} {8234#true} #100#return; {8234#true} is VALID [2022-04-15 08:55:37,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {8234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8234#true} is VALID [2022-04-15 08:55:37,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-15 08:55:37,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {8234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8234#true} is VALID [2022-04-15 08:55:37,832 INFO L290 TraceCheckUtils]: 30: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-15 08:55:37,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {8234#true} assume !(~c~0 >= ~b~0); {8332#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:55:37,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {8332#(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; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:55:37,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !false; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:55:37,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:55:37,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !false; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:55:37,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !false; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,848 INFO L272 TraceCheckUtils]: 38: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,848 INFO L290 TraceCheckUtils]: 40: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,849 INFO L290 TraceCheckUtils]: 41: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,849 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #102#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,849 INFO L272 TraceCheckUtils]: 43: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,849 INFO L290 TraceCheckUtils]: 46: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,850 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #104#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,850 INFO L272 TraceCheckUtils]: 48: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,850 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,850 INFO L290 TraceCheckUtils]: 50: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,850 INFO L290 TraceCheckUtils]: 51: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,851 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #106#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,851 INFO L272 TraceCheckUtils]: 53: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:37,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:37,851 INFO L290 TraceCheckUtils]: 55: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:37,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:37,851 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #108#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,852 INFO L290 TraceCheckUtils]: 58: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:37,852 INFO L290 TraceCheckUtils]: 59: Hoare triple {8350#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:37,852 INFO L290 TraceCheckUtils]: 60: Hoare triple {8420#(< 0 main_~c~0)} assume !false; {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:37,853 INFO L290 TraceCheckUtils]: 61: Hoare triple {8420#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:37,853 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(< 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; {8430#(< 0 main_~b~0)} is VALID [2022-04-15 08:55:37,853 INFO L290 TraceCheckUtils]: 63: Hoare triple {8430#(< 0 main_~b~0)} assume !false; {8430#(< 0 main_~b~0)} is VALID [2022-04-15 08:55:37,853 INFO L290 TraceCheckUtils]: 64: Hoare triple {8430#(< 0 main_~b~0)} assume !(0 != ~b~0); {8235#false} is VALID [2022-04-15 08:55:37,854 INFO L272 TraceCheckUtils]: 65: Hoare triple {8235#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)); {8235#false} is VALID [2022-04-15 08:55:37,854 INFO L290 TraceCheckUtils]: 66: Hoare triple {8235#false} ~cond := #in~cond; {8235#false} is VALID [2022-04-15 08:55:37,854 INFO L290 TraceCheckUtils]: 67: Hoare triple {8235#false} assume 0 == ~cond; {8235#false} is VALID [2022-04-15 08:55:37,854 INFO L290 TraceCheckUtils]: 68: Hoare triple {8235#false} assume !false; {8235#false} is VALID [2022-04-15 08:55:37,854 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:55:37,854 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:55:38,073 INFO L290 TraceCheckUtils]: 68: Hoare triple {8235#false} assume !false; {8235#false} is VALID [2022-04-15 08:55:38,074 INFO L290 TraceCheckUtils]: 67: Hoare triple {8235#false} assume 0 == ~cond; {8235#false} is VALID [2022-04-15 08:55:38,074 INFO L290 TraceCheckUtils]: 66: Hoare triple {8235#false} ~cond := #in~cond; {8235#false} is VALID [2022-04-15 08:55:38,074 INFO L272 TraceCheckUtils]: 65: Hoare triple {8235#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)); {8235#false} is VALID [2022-04-15 08:55:38,074 INFO L290 TraceCheckUtils]: 64: Hoare triple {8430#(< 0 main_~b~0)} assume !(0 != ~b~0); {8235#false} is VALID [2022-04-15 08:55:38,074 INFO L290 TraceCheckUtils]: 63: Hoare triple {8430#(< 0 main_~b~0)} assume !false; {8430#(< 0 main_~b~0)} is VALID [2022-04-15 08:55:38,075 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(< 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; {8430#(< 0 main_~b~0)} is VALID [2022-04-15 08:55:38,075 INFO L290 TraceCheckUtils]: 61: Hoare triple {8420#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:38,075 INFO L290 TraceCheckUtils]: 60: Hoare triple {8420#(< 0 main_~c~0)} assume !false; {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:38,076 INFO L290 TraceCheckUtils]: 59: Hoare triple {8350#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8420#(< 0 main_~c~0)} is VALID [2022-04-15 08:55:38,076 INFO L290 TraceCheckUtils]: 58: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,077 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #108#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,077 INFO L290 TraceCheckUtils]: 56: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,077 INFO L290 TraceCheckUtils]: 55: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,077 INFO L290 TraceCheckUtils]: 54: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,077 INFO L272 TraceCheckUtils]: 53: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,077 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #106#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,077 INFO L290 TraceCheckUtils]: 51: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L290 TraceCheckUtils]: 50: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L272 TraceCheckUtils]: 48: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #104#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,078 INFO L290 TraceCheckUtils]: 46: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L290 TraceCheckUtils]: 45: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,078 INFO L290 TraceCheckUtils]: 44: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,079 INFO L272 TraceCheckUtils]: 43: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,079 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #102#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,079 INFO L290 TraceCheckUtils]: 41: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,079 INFO L290 TraceCheckUtils]: 40: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,079 INFO L290 TraceCheckUtils]: 39: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,079 INFO L272 TraceCheckUtils]: 38: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,080 INFO L290 TraceCheckUtils]: 37: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !false; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 08:55:38,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !false; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:55:38,088 INFO L290 TraceCheckUtils]: 34: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:55:38,088 INFO L290 TraceCheckUtils]: 33: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !false; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 32: Hoare triple {8332#(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; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {8234#true} assume !(~c~0 >= ~b~0); {8332#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 30: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 29: Hoare triple {8234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 28: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {8234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8234#true} {8234#true} #100#return; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L272 TraceCheckUtils]: 22: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8234#true} {8234#true} #98#return; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 19: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 18: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L272 TraceCheckUtils]: 17: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8234#true} {8234#true} #96#return; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 15: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 14: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 13: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L272 TraceCheckUtils]: 12: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 11: Hoare triple {8234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8234#true} {8234#true} #94#return; {8234#true} is VALID [2022-04-15 08:55:38,090 INFO L290 TraceCheckUtils]: 9: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L272 TraceCheckUtils]: 6: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {8234#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; {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#true} call #t~ret6 := main(); {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#true} {8234#true} #112#return; {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {8234#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); {8234#true} is VALID [2022-04-15 08:55:38,091 INFO L272 TraceCheckUtils]: 0: Hoare triple {8234#true} call ULTIMATE.init(); {8234#true} is VALID [2022-04-15 08:55:38,091 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:55:38,091 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:55:38,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132576149] [2022-04-15 08:55:38,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:55:38,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [278525255] [2022-04-15 08:55:38,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [278525255] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:55:38,092 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:55:38,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-15 08:55:38,092 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:55:38,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [125409493] [2022-04-15 08:55:38,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [125409493] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:55:38,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:55:38,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:55:38,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [771829274] [2022-04-15 08:55:38,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:55:38,093 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:55:38,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:55:38,093 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:55:38,126 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:55:38,127 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:55:38,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:38,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:55:38,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:55:38,127 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:55:39,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:39,805 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-15 08:55:39,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 08:55:39,805 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:55:39,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:39,805 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:55:39,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 08:55:39,808 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:55:39,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 08:55:39,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 08:55:39,920 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:55:39,942 INFO L225 Difference]: With dead ends: 288 [2022-04-15 08:55:39,943 INFO L226 Difference]: Without dead ends: 281 [2022-04-15 08:55:39,943 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:55:39,943 INFO L913 BasicCegarLoop]: 87 mSDtfsCounter, 48 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 84 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:39,943 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 318 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [84 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 08:55:39,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-15 08:55:40,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-15 08:55:40,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:40,424 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:55:40,424 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:55:40,425 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:55:40,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:40,432 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 08:55:40,432 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 08:55:40,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:40,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:40,434 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:55:40,434 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:55:40,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:40,441 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 08:55:40,441 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 08:55:40,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:40,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:40,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:40,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:40,443 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:55:40,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-15 08:55:40,448 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-15 08:55:40,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:40,448 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-15 08:55:40,448 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:55:40,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-15 08:55:40,857 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:55:40,857 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-15 08:55:40,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 08:55:40,858 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:40,858 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:55:40,874 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:55:41,058 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:55:41,059 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:41,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:41,059 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-15 08:55:41,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:41,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1917629073] [2022-04-15 08:55:41,060 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:41,060 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-15 08:55:41,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:41,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034402196] [2022-04-15 08:55:41,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:41,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:41,069 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:41,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1502904542] [2022-04-15 08:55:41,069 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:55:41,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:41,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:41,070 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:55:41,075 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:55:41,117 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:55:41,117 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:41,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 08:55:41,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:41,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:42,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {10236#true} call ULTIMATE.init(); {10236#true} is VALID [2022-04-15 08:55:42,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {10236#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); {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10236#true} {10236#true} #112#return; {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {10236#true} call #t~ret6 := main(); {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {10236#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; {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {10236#true} ~cond := #in~cond; {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:42,069 INFO L290 TraceCheckUtils]: 8: Hoare triple {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:42,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:42,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} {10236#true} #94#return; {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:42,071 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:42,071 INFO L272 TraceCheckUtils]: 12: Hoare triple {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {10236#true} ~cond := #in~cond; {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:42,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:42,072 INFO L290 TraceCheckUtils]: 15: Hoare triple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:42,072 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:42,072 INFO L272 TraceCheckUtils]: 17: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,072 INFO L290 TraceCheckUtils]: 18: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,073 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10236#true} {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:42,073 INFO L272 TraceCheckUtils]: 22: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,073 INFO L290 TraceCheckUtils]: 24: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,073 INFO L290 TraceCheckUtils]: 25: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,073 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10236#true} {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:42,074 INFO L290 TraceCheckUtils]: 27: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,074 INFO L290 TraceCheckUtils]: 28: Hoare triple {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} assume !false; {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,074 INFO L290 TraceCheckUtils]: 29: Hoare triple {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,075 INFO L290 TraceCheckUtils]: 30: Hoare triple {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,075 INFO L290 TraceCheckUtils]: 31: Hoare triple {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (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; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,075 INFO L290 TraceCheckUtils]: 32: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,076 INFO L272 TraceCheckUtils]: 33: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (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)); {10236#true} is VALID [2022-04-15 08:55:42,076 INFO L290 TraceCheckUtils]: 34: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,076 INFO L290 TraceCheckUtils]: 36: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,076 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,076 INFO L272 TraceCheckUtils]: 38: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (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)); {10236#true} is VALID [2022-04-15 08:55:42,077 INFO L290 TraceCheckUtils]: 39: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,077 INFO L290 TraceCheckUtils]: 40: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,077 INFO L290 TraceCheckUtils]: 41: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,079 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,080 INFO L272 TraceCheckUtils]: 43: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (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)); {10236#true} is VALID [2022-04-15 08:55:42,080 INFO L290 TraceCheckUtils]: 44: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,080 INFO L290 TraceCheckUtils]: 45: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,080 INFO L290 TraceCheckUtils]: 46: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,080 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,081 INFO L272 TraceCheckUtils]: 48: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,081 INFO L290 TraceCheckUtils]: 50: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,081 INFO L290 TraceCheckUtils]: 51: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,081 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #108#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,082 INFO L290 TraceCheckUtils]: 53: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,083 INFO L272 TraceCheckUtils]: 55: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (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)); {10236#true} is VALID [2022-04-15 08:55:42,083 INFO L290 TraceCheckUtils]: 56: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,083 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,084 INFO L272 TraceCheckUtils]: 60: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (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)); {10236#true} is VALID [2022-04-15 08:55:42,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,084 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,085 INFO L272 TraceCheckUtils]: 65: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (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)); {10236#true} is VALID [2022-04-15 08:55:42,085 INFO L290 TraceCheckUtils]: 66: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,085 INFO L290 TraceCheckUtils]: 67: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,085 INFO L290 TraceCheckUtils]: 68: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,085 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:55:42,086 INFO L272 TraceCheckUtils]: 70: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:42,086 INFO L290 TraceCheckUtils]: 71: Hoare triple {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:42,087 INFO L290 TraceCheckUtils]: 72: Hoare triple {10463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10237#false} is VALID [2022-04-15 08:55:42,087 INFO L290 TraceCheckUtils]: 73: Hoare triple {10237#false} assume !false; {10237#false} is VALID [2022-04-15 08:55:42,087 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 17 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-15 08:55:42,087 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:55:42,436 INFO L290 TraceCheckUtils]: 73: Hoare triple {10237#false} assume !false; {10237#false} is VALID [2022-04-15 08:55:42,436 INFO L290 TraceCheckUtils]: 72: Hoare triple {10463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10237#false} is VALID [2022-04-15 08:55:42,437 INFO L290 TraceCheckUtils]: 71: Hoare triple {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:42,438 INFO L272 TraceCheckUtils]: 70: Hoare triple {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:42,441 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:55:42,441 INFO L290 TraceCheckUtils]: 68: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,444 INFO L290 TraceCheckUtils]: 67: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,444 INFO L290 TraceCheckUtils]: 66: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,445 INFO L272 TraceCheckUtils]: 65: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-15 08:55:42,445 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:55:42,445 INFO L290 TraceCheckUtils]: 63: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,445 INFO L290 TraceCheckUtils]: 62: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,446 INFO L290 TraceCheckUtils]: 61: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,446 INFO L272 TraceCheckUtils]: 60: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-15 08:55:42,446 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:55:42,446 INFO L290 TraceCheckUtils]: 58: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,446 INFO L290 TraceCheckUtils]: 57: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,447 INFO L290 TraceCheckUtils]: 56: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,447 INFO L272 TraceCheckUtils]: 55: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-15 08:55:42,447 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:55:42,449 INFO L290 TraceCheckUtils]: 53: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:55:42,450 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,450 INFO L290 TraceCheckUtils]: 51: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,450 INFO L290 TraceCheckUtils]: 50: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,450 INFO L290 TraceCheckUtils]: 49: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,450 INFO L272 TraceCheckUtils]: 48: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,451 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,451 INFO L290 TraceCheckUtils]: 46: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,451 INFO L290 TraceCheckUtils]: 45: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,451 INFO L290 TraceCheckUtils]: 44: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,451 INFO L272 TraceCheckUtils]: 43: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,452 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,452 INFO L290 TraceCheckUtils]: 41: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,452 INFO L290 TraceCheckUtils]: 40: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,452 INFO L290 TraceCheckUtils]: 39: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,452 INFO L272 TraceCheckUtils]: 38: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,453 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,453 INFO L290 TraceCheckUtils]: 36: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,453 INFO L290 TraceCheckUtils]: 35: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,453 INFO L272 TraceCheckUtils]: 33: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 32: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {10236#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {10236#true} assume !false; {10236#true} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {10236#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10236#true} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 28: Hoare triple {10236#true} assume !false; {10236#true} is VALID [2022-04-15 08:55:42,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {10236#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10236#true} is VALID [2022-04-15 08:55:42,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10236#true} {10236#true} #100#return; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L272 TraceCheckUtils]: 22: Hoare triple {10236#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10236#true} {10236#true} #98#return; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L272 TraceCheckUtils]: 17: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10236#true} {10236#true} #96#return; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 15: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L272 TraceCheckUtils]: 12: Hoare triple {10236#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {10236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10236#true} {10236#true} #94#return; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {10236#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; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {10236#true} call #t~ret6 := main(); {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10236#true} {10236#true} #112#return; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {10236#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); {10236#true} is VALID [2022-04-15 08:55:42,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {10236#true} call ULTIMATE.init(); {10236#true} is VALID [2022-04-15 08:55:42,457 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 08:55:42,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:55:42,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2034402196] [2022-04-15 08:55:42,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:55:42,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1502904542] [2022-04-15 08:55:42,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1502904542] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:55:42,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:55:42,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 14 [2022-04-15 08:55:42,457 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:55:42,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1917629073] [2022-04-15 08:55:42,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1917629073] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:55:42,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:55:42,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:55:42,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [787304542] [2022-04-15 08:55:42,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:55:42,459 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-15 08:55:42,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:55:42,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-15 08:55:42,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:42,498 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:55:42,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:42,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:55:42,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:55:42,499 INFO L87 Difference]: Start difference. First operand 208 states and 296 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-15 08:55:43,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:43,186 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-15 08:55:43,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:55:43,186 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-15 08:55:43,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:43,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-15 08:55:43,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:55:43,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-15 08:55:43,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:55:43,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 08:55:43,223 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:55:43,227 INFO L225 Difference]: With dead ends: 214 [2022-04-15 08:55:43,227 INFO L226 Difference]: Without dead ends: 212 [2022-04-15 08:55:43,227 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:55:43,228 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:43,228 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 166 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:55:43,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-15 08:55:43,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-15 08:55:43,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:43,715 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:55:43,715 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:55:43,715 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:55:43,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:43,720 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 08:55:43,720 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:55:43,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:43,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:43,721 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:55:43,721 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:55:43,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:43,725 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 08:55:43,725 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:55:43,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:43,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:43,726 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:43,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:43,726 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:55:43,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-15 08:55:43,731 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-15 08:55:43,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:43,731 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-15 08:55:43,731 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-15 08:55:43,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-15 08:55:44,225 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:55:44,225 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 08:55:44,226 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 08:55:44,226 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:44,226 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:55:44,244 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:55:44,426 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:55:44,427 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:44,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:44,427 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-15 08:55:44,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:44,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [250841612] [2022-04-15 08:55:44,427 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:44,427 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-15 08:55:44,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:44,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030017124] [2022-04-15 08:55:44,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:44,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:44,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:44,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [114962900] [2022-04-15 08:55:44,438 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:55:44,438 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:44,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:44,444 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:55:44,445 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:55:44,486 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:55:44,486 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:44,487 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-15 08:55:44,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:44,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:44,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {11971#true} call ULTIMATE.init(); {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {11971#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); {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11971#true} {11971#true} #112#return; {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {11971#true} call #t~ret6 := main(); {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {11971#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; {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {11971#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,809 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11971#true} {11971#true} #94#return; {11971#true} is VALID [2022-04-15 08:55:44,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {11971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11971#true} is VALID [2022-04-15 08:55:44,809 INFO L272 TraceCheckUtils]: 12: Hoare triple {11971#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {11971#true} ~cond := #in~cond; {12015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:44,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {12015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:44,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:44,810 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} {11971#true} #96#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:55:44,810 INFO L272 TraceCheckUtils]: 17: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,811 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11971#true} {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:55:44,811 INFO L272 TraceCheckUtils]: 22: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,811 INFO L290 TraceCheckUtils]: 24: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,811 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11971#true} {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:55:44,812 INFO L290 TraceCheckUtils]: 27: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:44,812 INFO L290 TraceCheckUtils]: 28: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:44,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {12060#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:44,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:44,813 INFO L290 TraceCheckUtils]: 31: Hoare triple {12060#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {12073#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 08:55:44,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {12073#(and (<= main_~b~0 2) (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; {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-15 08:55:44,814 INFO L290 TraceCheckUtils]: 33: Hoare triple {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-15 08:55:44,814 INFO L290 TraceCheckUtils]: 34: Hoare triple {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-15 08:55:44,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-15 08:55:44,815 INFO L290 TraceCheckUtils]: 36: Hoare triple {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,815 INFO L290 TraceCheckUtils]: 37: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !false; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,815 INFO L272 TraceCheckUtils]: 38: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,815 INFO L290 TraceCheckUtils]: 39: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,815 INFO L290 TraceCheckUtils]: 40: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,815 INFO L290 TraceCheckUtils]: 41: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,816 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #102#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,816 INFO L272 TraceCheckUtils]: 43: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,816 INFO L290 TraceCheckUtils]: 44: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,816 INFO L290 TraceCheckUtils]: 45: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,816 INFO L290 TraceCheckUtils]: 46: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,817 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #104#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,817 INFO L272 TraceCheckUtils]: 48: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,817 INFO L290 TraceCheckUtils]: 49: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,817 INFO L290 TraceCheckUtils]: 50: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,817 INFO L290 TraceCheckUtils]: 51: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,817 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #106#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,818 INFO L272 TraceCheckUtils]: 53: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:44,818 INFO L290 TraceCheckUtils]: 54: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:44,818 INFO L290 TraceCheckUtils]: 55: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:44,818 INFO L290 TraceCheckUtils]: 56: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:44,818 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #108#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-15 08:55:44,819 INFO L290 TraceCheckUtils]: 58: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !(~c~0 >= 2 * ~v~0); {11972#false} is VALID [2022-04-15 08:55:44,819 INFO L290 TraceCheckUtils]: 59: Hoare triple {11972#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11972#false} is VALID [2022-04-15 08:55:44,819 INFO L290 TraceCheckUtils]: 60: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:44,819 INFO L290 TraceCheckUtils]: 61: Hoare triple {11972#false} assume !(~c~0 >= ~b~0); {11972#false} is VALID [2022-04-15 08:55:44,819 INFO L290 TraceCheckUtils]: 62: Hoare triple {11972#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; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 63: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 64: Hoare triple {11972#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 65: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 66: Hoare triple {11972#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 67: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L272 TraceCheckUtils]: 68: Hoare triple {11972#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 69: Hoare triple {11972#false} ~cond := #in~cond; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 70: Hoare triple {11972#false} assume 0 == ~cond; {11972#false} is VALID [2022-04-15 08:55:44,820 INFO L290 TraceCheckUtils]: 71: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:44,821 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 30 proven. 6 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-15 08:55:44,821 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 71: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 70: Hoare triple {11972#false} assume 0 == ~cond; {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 69: Hoare triple {11972#false} ~cond := #in~cond; {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L272 TraceCheckUtils]: 68: Hoare triple {11972#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 67: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {11972#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11972#false} is VALID [2022-04-15 08:55:45,379 INFO L290 TraceCheckUtils]: 65: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 64: Hoare triple {11972#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 63: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 62: Hoare triple {11972#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; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 61: Hoare triple {11972#false} assume !(~c~0 >= ~b~0); {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 60: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 59: Hoare triple {11972#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11972#false} is VALID [2022-04-15 08:55:45,380 INFO L290 TraceCheckUtils]: 58: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {11972#false} is VALID [2022-04-15 08:55:45,381 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #108#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,381 INFO L290 TraceCheckUtils]: 56: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,381 INFO L290 TraceCheckUtils]: 55: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,381 INFO L290 TraceCheckUtils]: 54: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,381 INFO L272 TraceCheckUtils]: 53: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,381 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #106#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,381 INFO L290 TraceCheckUtils]: 51: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,381 INFO L290 TraceCheckUtils]: 50: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L290 TraceCheckUtils]: 49: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L272 TraceCheckUtils]: 48: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #104#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,382 INFO L290 TraceCheckUtils]: 46: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,382 INFO L272 TraceCheckUtils]: 43: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,383 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #102#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,383 INFO L272 TraceCheckUtils]: 38: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,383 INFO L290 TraceCheckUtils]: 37: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} assume !false; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {12303#(<= main_~b~0 (div main_~c~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-15 08:55:45,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {12303#(<= main_~b~0 (div main_~c~0 2))} assume !false; {12303#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-15 08:55:45,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12303#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-15 08:55:45,385 INFO L290 TraceCheckUtils]: 33: Hoare triple {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !false; {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-15 08:55:45,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {12317#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 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; {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-15 08:55:45,386 INFO L290 TraceCheckUtils]: 31: Hoare triple {12060#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {12317#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2))} is VALID [2022-04-15 08:55:45,386 INFO L290 TraceCheckUtils]: 30: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:45,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {12060#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:45,387 INFO L290 TraceCheckUtils]: 28: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:45,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {12333#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12060#(<= main_~b~0 2)} is VALID [2022-04-15 08:55:45,388 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11971#true} {12333#(<= main_~y~0 2)} #100#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L272 TraceCheckUtils]: 22: Hoare triple {12333#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11971#true} {12333#(<= main_~y~0 2)} #98#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,388 INFO L272 TraceCheckUtils]: 17: Hoare triple {12333#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,389 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} {11971#true} #96#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-15 08:55:45,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:45,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {12376#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {11971#true} ~cond := #in~cond; {12376#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:55:45,390 INFO L272 TraceCheckUtils]: 12: Hoare triple {11971#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {11971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11971#true} {11971#true} #94#return; {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L272 TraceCheckUtils]: 6: Hoare triple {11971#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {11971#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; {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {11971#true} call #t~ret6 := main(); {11971#true} is VALID [2022-04-15 08:55:45,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11971#true} {11971#true} #112#return; {11971#true} is VALID [2022-04-15 08:55:45,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-15 08:55:45,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {11971#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); {11971#true} is VALID [2022-04-15 08:55:45,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {11971#true} call ULTIMATE.init(); {11971#true} is VALID [2022-04-15 08:55:45,391 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-15 08:55:45,391 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:55:45,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030017124] [2022-04-15 08:55:45,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:55:45,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [114962900] [2022-04-15 08:55:45,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [114962900] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:55:45,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:55:45,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-15 08:55:45,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:55:45,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [250841612] [2022-04-15 08:55:45,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [250841612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:55:45,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:55:45,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:55:45,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [899299686] [2022-04-15 08:55:45,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:55:45,392 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 72 [2022-04-15 08:55:45,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:55:45,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:45,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:45,426 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:55:45,426 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:45,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:55:45,426 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:55:45,426 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:46,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:46,725 INFO L93 Difference]: Finished difference Result 306 states and 427 transitions. [2022-04-15 08:55:46,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:55:46,725 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 72 [2022-04-15 08:55:46,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:55:46,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:46,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-15 08:55:46,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:46,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-15 08:55:46,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2022-04-15 08:55:46,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:46,815 INFO L225 Difference]: With dead ends: 306 [2022-04-15 08:55:46,815 INFO L226 Difference]: Without dead ends: 204 [2022-04-15 08:55:46,816 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2022-04-15 08:55:46,816 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 39 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:55:46,816 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 253 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:55:46,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2022-04-15 08:55:47,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 200. [2022-04-15 08:55:47,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:55:47,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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:55:47,347 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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:55:47,347 INFO L87 Difference]: Start difference. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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:55:47,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:47,352 INFO L93 Difference]: Finished difference Result 204 states and 285 transitions. [2022-04-15 08:55:47,352 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 285 transitions. [2022-04-15 08:55:47,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:47,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:47,353 INFO L74 IsIncluded]: Start isIncluded. First operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 204 states. [2022-04-15 08:55:47,353 INFO L87 Difference]: Start difference. First operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 204 states. [2022-04-15 08:55:47,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:55:47,358 INFO L93 Difference]: Finished difference Result 204 states and 285 transitions. [2022-04-15 08:55:47,358 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 285 transitions. [2022-04-15 08:55:47,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:55:47,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:55:47,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:55:47,358 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:55:47,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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:55:47,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 281 transitions. [2022-04-15 08:55:47,363 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 281 transitions. Word has length 72 [2022-04-15 08:55:47,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:55:47,365 INFO L478 AbstractCegarLoop]: Abstraction has 200 states and 281 transitions. [2022-04-15 08:55:47,365 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:55:47,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 281 transitions. [2022-04-15 08:55:47,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:55:47,859 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 281 transitions. [2022-04-15 08:55:47,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 08:55:47,860 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:55:47,860 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:55:47,878 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:55:48,060 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:55:48,061 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:55:48,061 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:55:48,061 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 08:55:48,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:55:48,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2011994078] [2022-04-15 08:55:48,062 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:55:48,062 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 08:55:48,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:55:48,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [844345864] [2022-04-15 08:55:48,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:55:48,062 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:55:48,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:55:48,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [411591964] [2022-04-15 08:55:48,083 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:55:48,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:55:48,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:55:48,092 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:55:48,092 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:55:48,135 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:55:48,135 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:55:48,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-15 08:55:48,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:55:48,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:55:49,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {13852#true} call ULTIMATE.init(); {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {13852#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); {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13852#true} {13852#true} #112#return; {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {13852#true} call #t~ret6 := main(); {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {13852#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; {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L272 TraceCheckUtils]: 6: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {13852#true} ~cond := #in~cond; {13878#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:55:49,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {13878#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13882#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:49,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {13882#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13882#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:55:49,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13882#(not (= |assume_abort_if_not_#in~cond| 0))} {13852#true} #94#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:49,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:49,351 INFO L272 TraceCheckUtils]: 12: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,351 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:49,352 INFO L272 TraceCheckUtils]: 17: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:49,352 INFO L272 TraceCheckUtils]: 22: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 23: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,352 INFO L290 TraceCheckUtils]: 25: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,353 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:55:49,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,354 INFO L290 TraceCheckUtils]: 28: Hoare triple {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,355 INFO L290 TraceCheckUtils]: 31: Hoare triple {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,355 INFO L290 TraceCheckUtils]: 32: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,355 INFO L272 TraceCheckUtils]: 33: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,356 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,356 INFO L272 TraceCheckUtils]: 38: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,356 INFO L290 TraceCheckUtils]: 39: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,356 INFO L290 TraceCheckUtils]: 40: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,356 INFO L290 TraceCheckUtils]: 41: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,357 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,357 INFO L272 TraceCheckUtils]: 43: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,357 INFO L290 TraceCheckUtils]: 44: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,357 INFO L290 TraceCheckUtils]: 45: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,357 INFO L290 TraceCheckUtils]: 46: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,358 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,358 INFO L272 TraceCheckUtils]: 48: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,358 INFO L290 TraceCheckUtils]: 49: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,358 INFO L290 TraceCheckUtils]: 50: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,358 INFO L290 TraceCheckUtils]: 51: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,359 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,359 INFO L290 TraceCheckUtils]: 53: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,360 INFO L290 TraceCheckUtils]: 54: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,360 INFO L272 TraceCheckUtils]: 55: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,360 INFO L290 TraceCheckUtils]: 56: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,360 INFO L290 TraceCheckUtils]: 57: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,360 INFO L290 TraceCheckUtils]: 58: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,361 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,361 INFO L272 TraceCheckUtils]: 60: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,361 INFO L290 TraceCheckUtils]: 61: Hoare triple {13852#true} ~cond := #in~cond; {14047#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:49,362 INFO L290 TraceCheckUtils]: 62: Hoare triple {14047#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:49,362 INFO L290 TraceCheckUtils]: 63: Hoare triple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:55:49,362 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,363 INFO L272 TraceCheckUtils]: 65: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,363 INFO L290 TraceCheckUtils]: 66: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,363 INFO L290 TraceCheckUtils]: 67: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,363 INFO L290 TraceCheckUtils]: 68: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,363 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,364 INFO L272 TraceCheckUtils]: 70: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:55:49,364 INFO L290 TraceCheckUtils]: 71: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:55:49,364 INFO L290 TraceCheckUtils]: 72: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:55:49,364 INFO L290 TraceCheckUtils]: 73: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:55:49,364 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,365 INFO L290 TraceCheckUtils]: 75: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,366 INFO L290 TraceCheckUtils]: 76: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,366 INFO L290 TraceCheckUtils]: 77: Hoare triple {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,367 INFO L290 TraceCheckUtils]: 78: Hoare triple {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {14101#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (< main_~c~0 main_~b~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:55:49,368 INFO L290 TraceCheckUtils]: 79: Hoare triple {14101#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (< main_~c~0 main_~b~0) (<= main_~x~0 2) (= 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; {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:55:49,368 INFO L290 TraceCheckUtils]: 80: Hoare triple {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:55:49,369 INFO L290 TraceCheckUtils]: 81: Hoare triple {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(0 != ~b~0); {14112#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~x~0 (* main_~y~0 2)) (< main_~x~0 (* main_~y~0 3)) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:55:49,369 INFO L272 TraceCheckUtils]: 82: Hoare triple {14112#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~x~0 (* main_~y~0 2)) (< main_~x~0 (* main_~y~0 3)) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 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)); {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:55:49,370 INFO L290 TraceCheckUtils]: 83: Hoare triple {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:55:49,370 INFO L290 TraceCheckUtils]: 84: Hoare triple {14120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13853#false} is VALID [2022-04-15 08:55:49,370 INFO L290 TraceCheckUtils]: 85: Hoare triple {13853#false} assume !false; {13853#false} is VALID [2022-04-15 08:55:49,370 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-15 08:55:49,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:56:12,984 INFO L290 TraceCheckUtils]: 85: Hoare triple {13853#false} assume !false; {13853#false} is VALID [2022-04-15 08:56:12,985 INFO L290 TraceCheckUtils]: 84: Hoare triple {14120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13853#false} is VALID [2022-04-15 08:56:12,985 INFO L290 TraceCheckUtils]: 83: Hoare triple {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:12,986 INFO L272 TraceCheckUtils]: 82: Hoare triple {14136#(= (+ (* 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)); {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:12,986 INFO L290 TraceCheckUtils]: 81: Hoare triple {14140#(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); {14136#(= (+ (* 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:12,987 INFO L290 TraceCheckUtils]: 80: Hoare triple {14140#(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; {14140#(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:13,230 INFO L290 TraceCheckUtils]: 79: Hoare triple {14147#(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; {14140#(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:13,231 INFO L290 TraceCheckUtils]: 78: Hoare triple {14151#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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); {14147#(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:13,231 INFO L290 TraceCheckUtils]: 77: Hoare triple {14151#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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; {14151#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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:13,485 INFO L290 TraceCheckUtils]: 76: Hoare triple {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {14151#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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:13,485 INFO L290 TraceCheckUtils]: 75: Hoare triple {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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); {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:13,486 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13852#true} {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:13,486 INFO L290 TraceCheckUtils]: 73: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,486 INFO L290 TraceCheckUtils]: 72: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,486 INFO L290 TraceCheckUtils]: 71: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,486 INFO L272 TraceCheckUtils]: 70: Hoare triple {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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)); {13852#true} is VALID [2022-04-15 08:56:13,500 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13852#true} {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:13,500 INFO L290 TraceCheckUtils]: 68: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,500 INFO L290 TraceCheckUtils]: 67: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,500 INFO L290 TraceCheckUtils]: 66: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,500 INFO L272 TraceCheckUtils]: 65: Hoare triple {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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)); {13852#true} is VALID [2022-04-15 08:56:13,501 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} {14195#(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 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; {14158#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:13,501 INFO L290 TraceCheckUtils]: 63: Hoare triple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:13,502 INFO L290 TraceCheckUtils]: 62: Hoare triple {14205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:13,502 INFO L290 TraceCheckUtils]: 61: Hoare triple {13852#true} ~cond := #in~cond; {14205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:56:13,502 INFO L272 TraceCheckUtils]: 60: Hoare triple {14195#(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 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)); {13852#true} is VALID [2022-04-15 08:56:13,503 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13852#true} {14195#(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 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; {14195#(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 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:13,503 INFO L290 TraceCheckUtils]: 58: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,503 INFO L290 TraceCheckUtils]: 57: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,503 INFO L290 TraceCheckUtils]: 56: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,503 INFO L272 TraceCheckUtils]: 55: Hoare triple {14195#(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 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)); {13852#true} is VALID [2022-04-15 08:56:13,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {14195#(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 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; {14195#(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 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:13,508 INFO L290 TraceCheckUtils]: 53: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {14195#(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 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:13,509 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #108#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,509 INFO L290 TraceCheckUtils]: 51: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,509 INFO L290 TraceCheckUtils]: 50: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,509 INFO L290 TraceCheckUtils]: 49: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,509 INFO L272 TraceCheckUtils]: 48: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,510 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #106#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,510 INFO L290 TraceCheckUtils]: 46: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,510 INFO L290 TraceCheckUtils]: 44: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,510 INFO L272 TraceCheckUtils]: 43: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,511 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #104#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,511 INFO L290 TraceCheckUtils]: 41: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,511 INFO L290 TraceCheckUtils]: 40: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,511 INFO L290 TraceCheckUtils]: 39: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,511 INFO L272 TraceCheckUtils]: 38: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,512 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #102#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,512 INFO L290 TraceCheckUtils]: 36: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,512 INFO L290 TraceCheckUtils]: 35: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,512 INFO L272 TraceCheckUtils]: 33: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,513 INFO L290 TraceCheckUtils]: 32: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} assume !false; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !false; {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {14304#(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_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-15 08:56:13,515 INFO L290 TraceCheckUtils]: 28: Hoare triple {14304#(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_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} assume !false; {14304#(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_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:13,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {13852#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14304#(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_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:56:13,515 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13852#true} {13852#true} #100#return; {13852#true} is VALID [2022-04-15 08:56:13,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 23: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L272 TraceCheckUtils]: 22: Hoare triple {13852#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13852#true} {13852#true} #98#return; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L272 TraceCheckUtils]: 17: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13852#true} {13852#true} #96#return; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L272 TraceCheckUtils]: 12: Hoare triple {13852#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {13852#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13852#true} is VALID [2022-04-15 08:56:13,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13852#true} {13852#true} #94#return; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {13852#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; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {13852#true} call #t~ret6 := main(); {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13852#true} {13852#true} #112#return; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {13852#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); {13852#true} is VALID [2022-04-15 08:56:13,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {13852#true} call ULTIMATE.init(); {13852#true} is VALID [2022-04-15 08:56:13,518 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-15 08:56:13,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:13,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [844345864] [2022-04-15 08:56:13,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:13,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411591964] [2022-04-15 08:56:13,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411591964] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:56:13,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:56:13,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15] total 27 [2022-04-15 08:56:13,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:13,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2011994078] [2022-04-15 08:56:13,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2011994078] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:13,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:13,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 08:56:13,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2121226932] [2022-04-15 08:56:13,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:13,519 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 08:56:13,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:13,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:56:13,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:13,570 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 08:56:13,570 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:13,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 08:56:13,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=591, Unknown=0, NotChecked=0, Total=702 [2022-04-15 08:56:13,571 INFO L87 Difference]: Start difference. First operand 200 states and 281 transitions. Second operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:56:16,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:16,387 INFO L93 Difference]: Finished difference Result 285 states and 397 transitions. [2022-04-15 08:56:16,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 08:56:16,387 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 08:56:16,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:16,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:56:16,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 151 transitions. [2022-04-15 08:56:16,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:56:16,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 151 transitions. [2022-04-15 08:56:16,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 151 transitions. [2022-04-15 08:56:16,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:16,562 INFO L225 Difference]: With dead ends: 285 [2022-04-15 08:56:16,562 INFO L226 Difference]: Without dead ends: 231 [2022-04-15 08:56:16,563 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 246 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=190, Invalid=1000, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 08:56:16,563 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 59 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 683 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 748 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 683 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:16,564 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 196 Invalid, 748 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 683 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 08:56:16,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 231 states. [2022-04-15 08:56:17,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 231 to 228. [2022-04-15 08:56:17,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:17,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-15 08:56:17,297 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-15 08:56:17,297 INFO L87 Difference]: Start difference. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-15 08:56:17,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:17,302 INFO L93 Difference]: Finished difference Result 231 states and 324 transitions. [2022-04-15 08:56:17,302 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 324 transitions. [2022-04-15 08:56:17,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:17,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:17,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) Second operand 231 states. [2022-04-15 08:56:17,303 INFO L87 Difference]: Start difference. First operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) Second operand 231 states. [2022-04-15 08:56:17,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:17,308 INFO L93 Difference]: Finished difference Result 231 states and 324 transitions. [2022-04-15 08:56:17,308 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 324 transitions. [2022-04-15 08:56:17,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:17,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:17,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:17,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:17,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-15 08:56:17,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 228 states to 228 states and 321 transitions. [2022-04-15 08:56:17,314 INFO L78 Accepts]: Start accepts. Automaton has 228 states and 321 transitions. Word has length 86 [2022-04-15 08:56:17,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:17,314 INFO L478 AbstractCegarLoop]: Abstraction has 228 states and 321 transitions. [2022-04-15 08:56:17,314 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:56:17,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 228 states and 321 transitions. [2022-04-15 08:56:17,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 321 edges. 321 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:17,868 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 321 transitions. [2022-04-15 08:56:17,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-15 08:56:17,869 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:17,869 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 2, 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] [2022-04-15 08:56:17,885 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:56:18,069 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:56:18,069 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:18,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:18,069 INFO L85 PathProgramCache]: Analyzing trace with hash -1654964248, now seen corresponding path program 5 times [2022-04-15 08:56:18,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:18,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1402240152] [2022-04-15 08:56:18,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:18,070 INFO L85 PathProgramCache]: Analyzing trace with hash -1654964248, now seen corresponding path program 6 times [2022-04-15 08:56:18,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:18,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [434337119] [2022-04-15 08:56:18,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:18,070 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:18,095 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:18,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1179262188] [2022-04-15 08:56:18,095 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:56:18,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:18,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:18,097 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:56:18,097 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:56:18,150 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 08:56:18,150 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:18,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 08:56:18,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:18,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:18,446 INFO L272 TraceCheckUtils]: 0: Hoare triple {15898#true} call ULTIMATE.init(); {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {15898#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); {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15898#true} {15898#true} #112#return; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {15898#true} call #t~ret6 := main(); {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {15898#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; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L272 TraceCheckUtils]: 6: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15898#true} {15898#true} #94#return; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {15898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15898#true} is VALID [2022-04-15 08:56:18,447 INFO L272 TraceCheckUtils]: 12: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15898#true} {15898#true} #96#return; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L272 TraceCheckUtils]: 17: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15898#true} {15898#true} #98#return; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L272 TraceCheckUtils]: 22: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15898#true} {15898#true} #100#return; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {15898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {15898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {15898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !false; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,449 INFO L272 TraceCheckUtils]: 33: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L290 TraceCheckUtils]: 34: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #102#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,450 INFO L272 TraceCheckUtils]: 38: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L290 TraceCheckUtils]: 39: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,450 INFO L290 TraceCheckUtils]: 40: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,451 INFO L290 TraceCheckUtils]: 41: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,451 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #104#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,451 INFO L272 TraceCheckUtils]: 43: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,451 INFO L290 TraceCheckUtils]: 44: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,451 INFO L290 TraceCheckUtils]: 45: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,451 INFO L290 TraceCheckUtils]: 46: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,452 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #106#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,452 INFO L272 TraceCheckUtils]: 48: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,452 INFO L290 TraceCheckUtils]: 49: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,452 INFO L290 TraceCheckUtils]: 50: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,452 INFO L290 TraceCheckUtils]: 51: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,452 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #108#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,453 INFO L290 TraceCheckUtils]: 53: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {16063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:56:18,453 INFO L290 TraceCheckUtils]: 54: Hoare triple {16063#(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; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 55: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !false; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 57: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !false; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,454 INFO L272 TraceCheckUtils]: 58: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 59: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 60: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,454 INFO L290 TraceCheckUtils]: 61: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,455 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #102#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,455 INFO L272 TraceCheckUtils]: 63: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,455 INFO L290 TraceCheckUtils]: 64: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,455 INFO L290 TraceCheckUtils]: 65: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,455 INFO L290 TraceCheckUtils]: 66: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,456 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #104#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,456 INFO L272 TraceCheckUtils]: 68: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,456 INFO L290 TraceCheckUtils]: 69: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,456 INFO L290 TraceCheckUtils]: 70: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,456 INFO L290 TraceCheckUtils]: 71: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,456 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #106#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,457 INFO L272 TraceCheckUtils]: 73: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,457 INFO L290 TraceCheckUtils]: 74: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,457 INFO L290 TraceCheckUtils]: 75: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,457 INFO L290 TraceCheckUtils]: 76: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,457 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #108#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,457 INFO L290 TraceCheckUtils]: 78: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !(~c~0 >= 2 * ~v~0); {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,458 INFO L290 TraceCheckUtils]: 79: Hoare triple {16074#(< main_~c~0 main_~v~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {16144#(< main_~c~0 0)} assume !false; {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,458 INFO L290 TraceCheckUtils]: 81: Hoare triple {16144#(< main_~c~0 0)} assume !(~c~0 >= ~b~0); {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,459 INFO L290 TraceCheckUtils]: 82: Hoare triple {16144#(< main_~c~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; {16154#(< main_~b~0 0)} is VALID [2022-04-15 08:56:18,459 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(< main_~b~0 0)} assume !false; {16154#(< main_~b~0 0)} is VALID [2022-04-15 08:56:18,459 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(< main_~b~0 0)} assume !(0 != ~b~0); {15899#false} is VALID [2022-04-15 08:56:18,459 INFO L272 TraceCheckUtils]: 85: Hoare triple {15899#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)); {15899#false} is VALID [2022-04-15 08:56:18,459 INFO L290 TraceCheckUtils]: 86: Hoare triple {15899#false} ~cond := #in~cond; {15899#false} is VALID [2022-04-15 08:56:18,460 INFO L290 TraceCheckUtils]: 87: Hoare triple {15899#false} assume 0 == ~cond; {15899#false} is VALID [2022-04-15 08:56:18,460 INFO L290 TraceCheckUtils]: 88: Hoare triple {15899#false} assume !false; {15899#false} is VALID [2022-04-15 08:56:18,460 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-15 08:56:18,460 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:56:18,698 INFO L290 TraceCheckUtils]: 88: Hoare triple {15899#false} assume !false; {15899#false} is VALID [2022-04-15 08:56:18,699 INFO L290 TraceCheckUtils]: 87: Hoare triple {15899#false} assume 0 == ~cond; {15899#false} is VALID [2022-04-15 08:56:18,699 INFO L290 TraceCheckUtils]: 86: Hoare triple {15899#false} ~cond := #in~cond; {15899#false} is VALID [2022-04-15 08:56:18,699 INFO L272 TraceCheckUtils]: 85: Hoare triple {15899#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)); {15899#false} is VALID [2022-04-15 08:56:18,699 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(< main_~b~0 0)} assume !(0 != ~b~0); {15899#false} is VALID [2022-04-15 08:56:18,699 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(< main_~b~0 0)} assume !false; {16154#(< main_~b~0 0)} is VALID [2022-04-15 08:56:18,700 INFO L290 TraceCheckUtils]: 82: Hoare triple {16144#(< main_~c~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; {16154#(< main_~b~0 0)} is VALID [2022-04-15 08:56:18,700 INFO L290 TraceCheckUtils]: 81: Hoare triple {16144#(< main_~c~0 0)} assume !(~c~0 >= ~b~0); {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,700 INFO L290 TraceCheckUtils]: 80: Hoare triple {16144#(< main_~c~0 0)} assume !false; {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,701 INFO L290 TraceCheckUtils]: 79: Hoare triple {16074#(< main_~c~0 main_~v~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16144#(< main_~c~0 0)} is VALID [2022-04-15 08:56:18,701 INFO L290 TraceCheckUtils]: 78: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !(~c~0 >= 2 * ~v~0); {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,701 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #108#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,702 INFO L290 TraceCheckUtils]: 76: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,702 INFO L290 TraceCheckUtils]: 75: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,702 INFO L290 TraceCheckUtils]: 74: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,702 INFO L272 TraceCheckUtils]: 73: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,707 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #106#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,707 INFO L290 TraceCheckUtils]: 71: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,708 INFO L290 TraceCheckUtils]: 69: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,708 INFO L272 TraceCheckUtils]: 68: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,708 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #104#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,708 INFO L290 TraceCheckUtils]: 66: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L290 TraceCheckUtils]: 65: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L290 TraceCheckUtils]: 64: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L272 TraceCheckUtils]: 63: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #102#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,709 INFO L290 TraceCheckUtils]: 61: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L290 TraceCheckUtils]: 60: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,709 INFO L290 TraceCheckUtils]: 59: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,710 INFO L272 TraceCheckUtils]: 58: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,710 INFO L290 TraceCheckUtils]: 57: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !false; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,710 INFO L290 TraceCheckUtils]: 56: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-15 08:56:18,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !false; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:56:18,711 INFO L290 TraceCheckUtils]: 54: Hoare triple {16275#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:56:18,712 INFO L290 TraceCheckUtils]: 53: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {16275#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-15 08:56:18,712 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #108#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,712 INFO L290 TraceCheckUtils]: 51: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,712 INFO L290 TraceCheckUtils]: 50: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L290 TraceCheckUtils]: 49: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L272 TraceCheckUtils]: 48: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #106#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,713 INFO L290 TraceCheckUtils]: 46: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,713 INFO L272 TraceCheckUtils]: 43: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,714 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #104#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,714 INFO L290 TraceCheckUtils]: 41: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,714 INFO L290 TraceCheckUtils]: 39: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,714 INFO L272 TraceCheckUtils]: 38: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,715 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #102#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,715 INFO L290 TraceCheckUtils]: 35: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,715 INFO L290 TraceCheckUtils]: 34: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,715 INFO L272 TraceCheckUtils]: 33: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,715 INFO L290 TraceCheckUtils]: 32: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !false; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 31: Hoare triple {15898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 30: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 29: Hoare triple {15898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 28: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {15898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15898#true} {15898#true} #100#return; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,716 INFO L272 TraceCheckUtils]: 22: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15898#true} {15898#true} #98#return; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15898#true} {15898#true} #96#return; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L272 TraceCheckUtils]: 12: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {15898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15898#true} {15898#true} #94#return; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-15 08:56:18,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {15898#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; {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {15898#true} call #t~ret6 := main(); {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15898#true} {15898#true} #112#return; {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {15898#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); {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L272 TraceCheckUtils]: 0: Hoare triple {15898#true} call ULTIMATE.init(); {15898#true} is VALID [2022-04-15 08:56:18,718 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-15 08:56:18,718 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:56:18,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [434337119] [2022-04-15 08:56:18,718 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:56:18,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1179262188] [2022-04-15 08:56:18,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1179262188] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:56:18,719 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:56:18,719 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:56:18,719 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:56:18,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1402240152] [2022-04-15 08:56:18,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1402240152] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:56:18,719 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:56:18,719 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:56:18,719 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [190683983] [2022-04-15 08:56:18,719 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:56:18,720 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 89 [2022-04-15 08:56:18,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:56:18,720 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:56:18,759 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:56:18,759 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:56:18,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:18,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:56:18,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:56:18,760 INFO L87 Difference]: Start difference. First operand 228 states and 321 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:56:19,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:19,848 INFO L93 Difference]: Finished difference Result 361 states and 505 transitions. [2022-04-15 08:56:19,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 08:56:19,848 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 89 [2022-04-15 08:56:19,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:56:19,848 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:56:19,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 89 transitions. [2022-04-15 08:56:19,849 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:56:19,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 89 transitions. [2022-04-15 08:56:19,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 89 transitions. [2022-04-15 08:56:19,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:19,931 INFO L225 Difference]: With dead ends: 361 [2022-04-15 08:56:19,931 INFO L226 Difference]: Without dead ends: 238 [2022-04-15 08:56:19,932 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 170 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:56:19,932 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 7 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:56:19,932 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 260 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:56:19,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2022-04-15 08:56:20,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 225. [2022-04-15 08:56:20,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:56:20,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 08:56:20,705 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 08:56:20,705 INFO L87 Difference]: Start difference. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 08:56:20,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:20,710 INFO L93 Difference]: Finished difference Result 238 states and 327 transitions. [2022-04-15 08:56:20,710 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 327 transitions. [2022-04-15 08:56:20,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:20,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:20,711 INFO L74 IsIncluded]: Start isIncluded. First operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) Second operand 238 states. [2022-04-15 08:56:20,711 INFO L87 Difference]: Start difference. First operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) Second operand 238 states. [2022-04-15 08:56:20,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:56:20,716 INFO L93 Difference]: Finished difference Result 238 states and 327 transitions. [2022-04-15 08:56:20,716 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 327 transitions. [2022-04-15 08:56:20,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:56:20,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:56:20,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:56:20,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:56:20,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 08:56:20,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 225 states to 225 states and 313 transitions. [2022-04-15 08:56:20,721 INFO L78 Accepts]: Start accepts. Automaton has 225 states and 313 transitions. Word has length 89 [2022-04-15 08:56:20,722 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:56:20,722 INFO L478 AbstractCegarLoop]: Abstraction has 225 states and 313 transitions. [2022-04-15 08:56:20,722 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 08:56:20,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 225 states and 313 transitions. [2022-04-15 08:56:21,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:56:21,281 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 313 transitions. [2022-04-15 08:56:21,283 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-15 08:56:21,283 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:56:21,283 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:56:21,301 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:56:21,499 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:56:21,499 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:56:21,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:56:21,499 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-15 08:56:21,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:56:21,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [676729468] [2022-04-15 08:56:21,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:56:21,500 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-15 08:56:21,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:56:21,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [728895260] [2022-04-15 08:56:21,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:56:21,500 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:56:21,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:56:21,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [919137006] [2022-04-15 08:56:21,510 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:56:21,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:56:21,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:56:21,510 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:56:21,511 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:56:21,555 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:56:21,555 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:56:21,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 88 conjunts are in the unsatisfiable core [2022-04-15 08:56:21,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:56:21,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:56:29,772 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:56:36,080 INFO L272 TraceCheckUtils]: 0: Hoare triple {18091#true} call ULTIMATE.init(); {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {18091#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); {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18091#true} {18091#true} #112#return; {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {18091#true} call #t~ret6 := main(); {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L290 TraceCheckUtils]: 5: Hoare triple {18091#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; {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L272 TraceCheckUtils]: 6: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,081 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18091#true} {18091#true} #94#return; {18091#true} is VALID [2022-04-15 08:56:36,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {18091#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18091#true} is VALID [2022-04-15 08:56:36,081 INFO L272 TraceCheckUtils]: 12: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {18091#true} ~cond := #in~cond; {18135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:56:36,081 INFO L290 TraceCheckUtils]: 14: Hoare triple {18135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:56:36,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {18139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:56:36,082 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18139#(not (= |assume_abort_if_not_#in~cond| 0))} {18091#true} #96#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:56:36,082 INFO L272 TraceCheckUtils]: 17: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,082 INFO L290 TraceCheckUtils]: 18: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,082 INFO L290 TraceCheckUtils]: 19: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,082 INFO L290 TraceCheckUtils]: 20: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,083 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18091#true} {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:56:36,083 INFO L272 TraceCheckUtils]: 22: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,083 INFO L290 TraceCheckUtils]: 23: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,083 INFO L290 TraceCheckUtils]: 24: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,083 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18091#true} {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-15 08:56:36,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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:56:36,084 INFO L290 TraceCheckUtils]: 28: Hoare triple {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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:56:36,084 INFO L290 TraceCheckUtils]: 29: Hoare triple {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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; {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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:56:36,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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; {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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:56:36,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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); {18194#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 08:56:36,086 INFO L290 TraceCheckUtils]: 32: Hoare triple {18194#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~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; {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,086 INFO L290 TraceCheckUtils]: 33: Hoare triple {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~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; {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,088 INFO L290 TraceCheckUtils]: 37: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,088 INFO L272 TraceCheckUtils]: 38: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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)); {18091#true} is VALID [2022-04-15 08:56:36,088 INFO L290 TraceCheckUtils]: 39: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,088 INFO L290 TraceCheckUtils]: 40: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,088 INFO L290 TraceCheckUtils]: 41: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,089 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #102#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,089 INFO L272 TraceCheckUtils]: 43: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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)); {18091#true} is VALID [2022-04-15 08:56:36,089 INFO L290 TraceCheckUtils]: 44: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,089 INFO L290 TraceCheckUtils]: 45: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,089 INFO L290 TraceCheckUtils]: 46: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,090 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #104#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,090 INFO L272 TraceCheckUtils]: 48: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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)); {18091#true} is VALID [2022-04-15 08:56:36,090 INFO L290 TraceCheckUtils]: 49: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,090 INFO L290 TraceCheckUtils]: 50: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,090 INFO L290 TraceCheckUtils]: 51: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,091 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #106#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,091 INFO L272 TraceCheckUtils]: 53: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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)); {18091#true} is VALID [2022-04-15 08:56:36,091 INFO L290 TraceCheckUtils]: 54: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:56:36,091 INFO L290 TraceCheckUtils]: 55: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:56:36,091 INFO L290 TraceCheckUtils]: 56: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:56:36,092 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #108#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 08:56:36,093 INFO L290 TraceCheckUtils]: 58: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 08:56:36,093 INFO L290 TraceCheckUtils]: 59: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 08:56:36,093 INFO L272 TraceCheckUtils]: 60: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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)); {18091#true} is VALID [2022-04-15 08:56:36,093 INFO L290 TraceCheckUtils]: 61: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:36,094 INFO L290 TraceCheckUtils]: 62: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,094 INFO L290 TraceCheckUtils]: 63: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,095 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 08:56:36,095 INFO L272 TraceCheckUtils]: 65: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,095 INFO L290 TraceCheckUtils]: 66: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:36,095 INFO L290 TraceCheckUtils]: 67: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,096 INFO L290 TraceCheckUtils]: 68: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,097 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #104#return; {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 08:56:36,097 INFO L272 TraceCheckUtils]: 70: Hoare triple {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~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 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,097 INFO L290 TraceCheckUtils]: 71: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:36,097 INFO L290 TraceCheckUtils]: 72: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,097 INFO L290 TraceCheckUtils]: 73: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,098 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #106#return; {18331#(and (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 08:56:36,099 INFO L272 TraceCheckUtils]: 75: Hoare triple {18331#(and (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:56:36,099 INFO L290 TraceCheckUtils]: 76: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:36,099 INFO L290 TraceCheckUtils]: 77: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,099 INFO L290 TraceCheckUtils]: 78: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:56:36,100 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18331#(and (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #108#return; {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 08:56:36,101 INFO L290 TraceCheckUtils]: 80: Hoare triple {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !(~c~0 >= 2 * ~v~0); {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 08:56:36,103 INFO L290 TraceCheckUtils]: 81: Hoare triple {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< main_~x~0 main_~c~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 08:56:36,103 INFO L290 TraceCheckUtils]: 82: Hoare triple {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !false; {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 08:56:36,104 INFO L290 TraceCheckUtils]: 83: Hoare triple {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {18361#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (< main_~c~0 main_~b~0))} is VALID [2022-04-15 08:56:36,106 INFO L290 TraceCheckUtils]: 84: Hoare triple {18361#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (< 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; {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-15 08:56:36,107 INFO L290 TraceCheckUtils]: 85: Hoare triple {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} assume !false; {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-15 08:56:36,107 INFO L290 TraceCheckUtils]: 86: Hoare triple {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} assume !(0 != ~b~0); {18372#(and (= main_~r~0 0) (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-15 08:56:36,109 INFO L272 TraceCheckUtils]: 87: Hoare triple {18372#(and (= main_~r~0 0) (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} 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)); {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:56:36,110 INFO L290 TraceCheckUtils]: 88: Hoare triple {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18380#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:56:36,110 INFO L290 TraceCheckUtils]: 89: Hoare triple {18380#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18092#false} is VALID [2022-04-15 08:56:36,110 INFO L290 TraceCheckUtils]: 90: Hoare triple {18092#false} assume !false; {18092#false} is VALID [2022-04-15 08:56:36,111 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 63 proven. 29 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2022-04-15 08:56:36,111 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:57:25,827 INFO L290 TraceCheckUtils]: 90: Hoare triple {18092#false} assume !false; {18092#false} is VALID [2022-04-15 08:57:25,827 INFO L290 TraceCheckUtils]: 89: Hoare triple {18380#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18092#false} is VALID [2022-04-15 08:57:25,827 INFO L290 TraceCheckUtils]: 88: Hoare triple {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18380#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:25,828 INFO L272 TraceCheckUtils]: 87: Hoare triple {18396#(= (+ (* 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)); {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:25,829 INFO L290 TraceCheckUtils]: 86: Hoare triple {18400#(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); {18396#(= (+ (* 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:57:25,829 INFO L290 TraceCheckUtils]: 85: Hoare triple {18400#(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; {18400#(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:57:26,009 INFO L290 TraceCheckUtils]: 84: Hoare triple {18407#(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; {18400#(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:57:26,010 INFO L290 TraceCheckUtils]: 83: Hoare triple {18411#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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); {18407#(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:57:26,010 INFO L290 TraceCheckUtils]: 82: Hoare triple {18411#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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; {18411#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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:57:26,265 INFO L290 TraceCheckUtils]: 81: Hoare triple {18418#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {18411#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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:57:26,266 INFO L290 TraceCheckUtils]: 80: Hoare triple {18418#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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); {18418#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:57:26,267 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18425#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {18418#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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:57:26,267 INFO L290 TraceCheckUtils]: 78: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,267 INFO L290 TraceCheckUtils]: 77: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,268 INFO L290 TraceCheckUtils]: 76: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:57:26,268 INFO L272 TraceCheckUtils]: 75: Hoare triple {18425#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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)); {18091#true} is VALID [2022-04-15 08:57:26,269 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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; {18425#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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 08:57:26,269 INFO L290 TraceCheckUtils]: 73: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,269 INFO L290 TraceCheckUtils]: 72: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,270 INFO L290 TraceCheckUtils]: 71: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:57:26,270 INFO L272 TraceCheckUtils]: 70: Hoare triple {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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)); {18091#true} is VALID [2022-04-15 08:57:26,271 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18458#(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 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; {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~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 08:57:26,271 INFO L290 TraceCheckUtils]: 68: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,271 INFO L290 TraceCheckUtils]: 67: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,272 INFO L290 TraceCheckUtils]: 66: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:57:26,272 INFO L272 TraceCheckUtils]: 65: Hoare triple {18458#(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 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)); {18091#true} is VALID [2022-04-15 08:57:26,845 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18091#true} #102#return; {18458#(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 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 08:57:26,845 INFO L290 TraceCheckUtils]: 63: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 62: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 61: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:57:26,846 INFO L272 TraceCheckUtils]: 60: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 59: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {18091#true} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18091#true} is VALID [2022-04-15 08:57:26,846 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {18091#true} {18091#true} #108#return; {18091#true} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,846 INFO L290 TraceCheckUtils]: 55: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 54: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L272 TraceCheckUtils]: 53: Hoare triple {18091#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18091#true} {18091#true} #106#return; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 51: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 50: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L272 TraceCheckUtils]: 48: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18091#true} {18091#true} #104#return; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 46: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 45: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 44: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L272 TraceCheckUtils]: 43: Hoare triple {18091#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18091#true} {18091#true} #102#return; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L272 TraceCheckUtils]: 38: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {18091#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {18091#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 32: Hoare triple {18091#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; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 31: Hoare triple {18091#true} assume !(~c~0 >= ~b~0); {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 29: Hoare triple {18091#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 28: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {18091#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18091#true} is VALID [2022-04-15 08:57:26,848 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18091#true} {18091#true} #100#return; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L272 TraceCheckUtils]: 22: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18091#true} {18091#true} #98#return; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 19: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L272 TraceCheckUtils]: 17: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18091#true} {18091#true} #96#return; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {18091#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18091#true} is VALID [2022-04-15 08:57:26,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18091#true} {18091#true} #94#return; {18091#true} is VALID [2022-04-15 08:57:26,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-15 08:57:26,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-15 08:57:26,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-15 08:57:26,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {18091#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; {18091#true} is VALID [2022-04-15 08:57:26,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {18091#true} call #t~ret6 := main(); {18091#true} is VALID [2022-04-15 08:57:26,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18091#true} {18091#true} #112#return; {18091#true} is VALID [2022-04-15 08:57:26,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-15 08:57:26,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {18091#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); {18091#true} is VALID [2022-04-15 08:57:26,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {18091#true} call ULTIMATE.init(); {18091#true} is VALID [2022-04-15 08:57:26,858 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 73 proven. 4 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-15 08:57:26,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:57:26,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [728895260] [2022-04-15 08:57:26,858 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:57:26,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [919137006] [2022-04-15 08:57:26,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [919137006] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:57:26,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:57:26,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 14] total 32 [2022-04-15 08:57:26,859 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:57:26,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [676729468] [2022-04-15 08:57:26,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [676729468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:57:26,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:57:26,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 08:57:26,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1350855359] [2022-04-15 08:57:26,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:57:26,859 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 91 [2022-04-15 08:57:26,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:57:26,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 08:57:26,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:26,924 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 08:57:26,924 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:26,924 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 08:57:26,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=156, Invalid=836, Unknown=0, NotChecked=0, Total=992 [2022-04-15 08:57:26,925 INFO L87 Difference]: Start difference. First operand 225 states and 313 transitions. Second operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 08:57:31,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:31,848 INFO L93 Difference]: Finished difference Result 328 states and 448 transitions. [2022-04-15 08:57:31,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 08:57:31,848 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 91 [2022-04-15 08:57:31,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:57:31,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 08:57:31,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 181 transitions. [2022-04-15 08:57:31,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 08:57:31,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 181 transitions. [2022-04-15 08:57:31,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 181 transitions. [2022-04-15 08:57:32,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:32,063 INFO L225 Difference]: With dead ends: 328 [2022-04-15 08:57:32,063 INFO L226 Difference]: Without dead ends: 270 [2022-04-15 08:57:32,065 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 149 SyntacticMatches, 2 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=229, Invalid=1331, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 08:57:32,066 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 101 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 1055 mSolverCounterSat, 103 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 120 SdHoareTripleChecker+Valid, 283 SdHoareTripleChecker+Invalid, 1158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 103 IncrementalHoareTripleChecker+Valid, 1055 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-15 08:57:32,066 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [120 Valid, 283 Invalid, 1158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 1055 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-15 08:57:32,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 270 states. [2022-04-15 08:57:32,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 270 to 258. [2022-04-15 08:57:32,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:57:32,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-15 08:57:32,954 INFO L74 IsIncluded]: Start isIncluded. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-15 08:57:32,954 INFO L87 Difference]: Start difference. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-15 08:57:32,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:32,969 INFO L93 Difference]: Finished difference Result 270 states and 370 transitions. [2022-04-15 08:57:32,969 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 370 transitions. [2022-04-15 08:57:32,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:32,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:32,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) Second operand 270 states. [2022-04-15 08:57:32,971 INFO L87 Difference]: Start difference. First operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) Second operand 270 states. [2022-04-15 08:57:32,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:57:32,976 INFO L93 Difference]: Finished difference Result 270 states and 370 transitions. [2022-04-15 08:57:32,976 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 370 transitions. [2022-04-15 08:57:32,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:57:32,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:57:32,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:57:32,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:57:32,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-15 08:57:32,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 358 transitions. [2022-04-15 08:57:32,983 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 358 transitions. Word has length 91 [2022-04-15 08:57:32,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:57:32,983 INFO L478 AbstractCegarLoop]: Abstraction has 258 states and 358 transitions. [2022-04-15 08:57:32,983 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 08:57:32,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 258 states and 358 transitions. [2022-04-15 08:57:33,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 358 edges. 358 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:57:33,695 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 358 transitions. [2022-04-15 08:57:33,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-15 08:57:33,696 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:57:33,696 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 08:57:33,712 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:57:33,896 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:57:33,897 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:57:33,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:57:33,897 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-15 08:57:33,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:57:33,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [958223728] [2022-04-15 08:57:33,898 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:57:33,898 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-15 08:57:33,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:57:33,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1148518467] [2022-04-15 08:57:33,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:57:33,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:57:33,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:57:33,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [356400174] [2022-04-15 08:57:33,908 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:57:33,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:57:33,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:57:33,909 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:57:33,909 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:57:33,962 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 08:57:33,962 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:57:33,964 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-15 08:57:33,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:57:33,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:57:35,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {20396#true} call ULTIMATE.init(); {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {20396#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); {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20396#true} {20396#true} #112#return; {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {20396#true} call #t~ret6 := main(); {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {20396#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; {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {20396#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {20396#true} ~cond := #in~cond; {20422#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:57:35,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {20422#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20426#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:57:35,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {20426#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20426#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:57:35,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20426#(not (= |assume_abort_if_not_#in~cond| 0))} {20396#true} #94#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,774 INFO L272 TraceCheckUtils]: 12: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,774 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,774 INFO L272 TraceCheckUtils]: 17: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,775 INFO L272 TraceCheckUtils]: 22: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,776 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,778 INFO L272 TraceCheckUtils]: 33: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,779 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20396#true} {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,779 INFO L272 TraceCheckUtils]: 38: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,779 INFO L290 TraceCheckUtils]: 39: Hoare triple {20396#true} ~cond := #in~cond; {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:35,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:35,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:35,781 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,781 INFO L272 TraceCheckUtils]: 43: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,781 INFO L290 TraceCheckUtils]: 45: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,781 INFO L290 TraceCheckUtils]: 46: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,782 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,782 INFO L272 TraceCheckUtils]: 48: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,782 INFO L290 TraceCheckUtils]: 51: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,782 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,783 INFO L290 TraceCheckUtils]: 53: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,783 INFO L290 TraceCheckUtils]: 54: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,784 INFO L272 TraceCheckUtils]: 55: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,784 INFO L290 TraceCheckUtils]: 56: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,784 INFO L290 TraceCheckUtils]: 58: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,784 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,784 INFO L272 TraceCheckUtils]: 60: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L290 TraceCheckUtils]: 61: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L290 TraceCheckUtils]: 62: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L290 TraceCheckUtils]: 63: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,785 INFO L272 TraceCheckUtils]: 65: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L290 TraceCheckUtils]: 66: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,785 INFO L290 TraceCheckUtils]: 67: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,786 INFO L290 TraceCheckUtils]: 68: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,786 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,786 INFO L272 TraceCheckUtils]: 70: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,786 INFO L290 TraceCheckUtils]: 71: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,786 INFO L290 TraceCheckUtils]: 72: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,786 INFO L290 TraceCheckUtils]: 73: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,787 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,788 INFO L290 TraceCheckUtils]: 75: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,788 INFO L290 TraceCheckUtils]: 76: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,788 INFO L272 TraceCheckUtils]: 77: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,788 INFO L290 TraceCheckUtils]: 78: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,788 INFO L290 TraceCheckUtils]: 80: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,789 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,789 INFO L272 TraceCheckUtils]: 82: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,789 INFO L290 TraceCheckUtils]: 83: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,789 INFO L290 TraceCheckUtils]: 85: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,790 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,790 INFO L272 TraceCheckUtils]: 87: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,790 INFO L290 TraceCheckUtils]: 88: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-15 08:57:35,790 INFO L290 TraceCheckUtils]: 89: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-15 08:57:35,790 INFO L290 TraceCheckUtils]: 90: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-15 08:57:35,791 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,791 INFO L272 TraceCheckUtils]: 92: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-15 08:57:35,791 INFO L290 TraceCheckUtils]: 93: Hoare triple {20396#true} ~cond := #in~cond; {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:35,791 INFO L290 TraceCheckUtils]: 94: Hoare triple {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:35,792 INFO L290 TraceCheckUtils]: 95: Hoare triple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:57:35,792 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20697#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,793 INFO L290 TraceCheckUtils]: 97: Hoare triple {20697#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {20701#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,795 INFO L290 TraceCheckUtils]: 98: Hoare triple {20701#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,796 INFO L290 TraceCheckUtils]: 99: Hoare triple {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,796 INFO L290 TraceCheckUtils]: 100: Hoare triple {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {20712#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-15 08:57:35,798 INFO L290 TraceCheckUtils]: 101: Hoare triple {20712#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= main_~x~0 2) (= 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; {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,799 INFO L290 TraceCheckUtils]: 102: Hoare triple {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} assume !false; {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,799 INFO L290 TraceCheckUtils]: 103: Hoare triple {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} assume !(0 != ~b~0); {20723#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (< (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))) 0) (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 08:57:35,801 INFO L272 TraceCheckUtils]: 104: Hoare triple {20723#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (< (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))) 0) (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (<= main_~x~0 2))} 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)); {20727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:57:35,802 INFO L290 TraceCheckUtils]: 105: Hoare triple {20727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:57:35,802 INFO L290 TraceCheckUtils]: 106: Hoare triple {20731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20397#false} is VALID [2022-04-15 08:57:35,802 INFO L290 TraceCheckUtils]: 107: Hoare triple {20397#false} assume !false; {20397#false} is VALID [2022-04-15 08:57:35,803 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 63 proven. 42 refuted. 0 times theorem prover too weak. 229 trivial. 0 not checked. [2022-04-15 08:57:35,803 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:57:49,776 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:59:39,967 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:00:13,563 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:01:01,408 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:04:08,760 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:07:34,108 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_86 Int) (v_main_~d~0_BEFORE_CALL_54 Int) (v_main_~p~0_BEFORE_CALL_57 Int) (v_main_~k~0_BEFORE_CALL_55 Int) (v_main_~s~0_BEFORE_CALL_60 Int) (v_main_~b~0_BEFORE_CALL_90 Int) (v_main_~y~0_BEFORE_CALL_91 Int) (v_main_~q~0_BEFORE_CALL_54 Int) (v_main_~r~0_BEFORE_CALL_57 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_54 v_main_~b~0_BEFORE_CALL_90))) (or (= (mod .cse0 v_main_~b~0_BEFORE_CALL_90) 0) (<= .cse0 0) (= (+ (* v_main_~p~0_BEFORE_CALL_57 v_main_~x~0_BEFORE_CALL_86) (* v_main_~r~0_BEFORE_CALL_57 v_main_~y~0_BEFORE_CALL_91) v_main_~b~0_BEFORE_CALL_90) (+ (* v_main_~q~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86 v_main_~k~0_BEFORE_CALL_55) (* v_main_~q~0_BEFORE_CALL_54 v_main_~d~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86) (* v_main_~d~0_BEFORE_CALL_54 v_main_~y~0_BEFORE_CALL_91 v_main_~s~0_BEFORE_CALL_60) (* v_main_~y~0_BEFORE_CALL_91 v_main_~s~0_BEFORE_CALL_60) (* v_main_~q~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86) (* v_main_~y~0_BEFORE_CALL_91 v_main_~k~0_BEFORE_CALL_55 v_main_~s~0_BEFORE_CALL_60))) (<= v_main_~b~0_BEFORE_CALL_90 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) is different from true