/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:04:20,324 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:04:20,327 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:04:20,352 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:04:20,352 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:04:20,353 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:04:20,354 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:04:20,356 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:04:20,357 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:04:20,358 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:04:20,359 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:04:20,359 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:04:20,360 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:04:20,361 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:04:20,361 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:04:20,362 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:04:20,363 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:04:20,364 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:04:20,365 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:04:20,366 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:04:20,368 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:04:20,368 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:04:20,369 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:04:20,370 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:04:20,371 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:04:20,373 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:04:20,374 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:04:20,374 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:04:20,375 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:04:20,375 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:04:20,376 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:04:20,376 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:04:20,377 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:04:20,377 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:04:20,378 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:04:20,379 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:04:20,379 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:04:20,380 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:04:20,380 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:04:20,380 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:04:20,381 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:04:20,381 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:04:20,382 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:04:20,389 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:04:20,389 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:04:20,390 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:04:20,390 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:04:20,390 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:04:20,391 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:04:20,391 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:04:20,392 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:04:20,392 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:04:20,393 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:04:20,393 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:04:20,393 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:04:20,393 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 15:04:20,597 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:04:20,620 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:04:20,622 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:04:20,623 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:04:20,623 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:04:20,625 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c [2022-04-15 15:04:20,680 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2131ff786/21dc709c489e44019d534835339baacb/FLAGe854c74b2 [2022-04-15 15:04:21,036 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:04:21,036 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c [2022-04-15 15:04:21,050 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2131ff786/21dc709c489e44019d534835339baacb/FLAGe854c74b2 [2022-04-15 15:04:21,059 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2131ff786/21dc709c489e44019d534835339baacb [2022-04-15 15:04:21,064 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:04:21,065 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:04:21,066 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:04:21,066 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:04:21,069 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:04:21,070 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,071 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e188988 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21, skipping insertion in model container [2022-04-15 15:04:21,071 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,080 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:04:21,095 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:04:21,220 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_valuebound5.c[490,503] [2022-04-15 15:04:21,237 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:04:21,248 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:04:21,257 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_valuebound5.c[490,503] [2022-04-15 15:04:21,266 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:04:21,277 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:04:21,277 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21 WrapperNode [2022-04-15 15:04:21,277 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:04:21,278 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:04:21,278 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:04:21,278 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:04:21,287 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,288 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,293 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,293 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,298 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,302 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,314 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,316 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:04:21,317 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:04:21,317 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:04:21,317 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:04:21,320 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (1/1) ... [2022-04-15 15:04:21,328 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:04:21,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:21,349 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 15:04:21,362 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 15:04:21,389 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:04:21,389 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:04:21,389 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:04:21,389 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:04:21,390 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:04:21,390 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:04:21,390 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:04:21,390 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:04:21,390 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:04:21,391 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:04:21,391 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 15:04:21,391 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:04:21,391 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:04:21,391 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:04:21,392 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:04:21,394 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:04:21,394 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:04:21,394 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:04:21,394 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:04:21,394 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:04:21,446 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:04:21,447 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:04:21,587 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:04:21,594 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:04:21,594 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 15:04:21,595 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:04:21 BoogieIcfgContainer [2022-04-15 15:04:21,595 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:04:21,597 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:04:21,597 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:04:21,599 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:04:21,599 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:04:21" (1/3) ... [2022-04-15 15:04:21,600 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@139416cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:04:21, skipping insertion in model container [2022-04-15 15:04:21,600 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:04:21" (2/3) ... [2022-04-15 15:04:21,600 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@139416cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:04:21, skipping insertion in model container [2022-04-15 15:04:21,601 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:04:21" (3/3) ... [2022-04-15 15:04:21,602 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound5.c [2022-04-15 15:04:21,605 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:04:21,606 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:04:21,646 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:04:21,664 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 15:04:21,664 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:04:21,678 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 15:04:21,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:04:21,685 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:21,686 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 15:04:21,686 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:21,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:21,692 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 15:04:21,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:21,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [565028429] [2022-04-15 15:04:21,714 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:21,714 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 15:04:21,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:21,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126655281] [2022-04-15 15:04:21,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:21,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:21,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:21,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:04:21,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:21,950 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 15:04:21,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:04:21,950 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:04:21,951 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:04:21,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:21,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:21,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:21,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:21,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:04:21,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:04:21,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:21,987 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:21,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:21,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:21,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:04:21,989 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:04:21,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:21,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:21,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:21,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:21,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:04:21,999 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 15:04:22,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:22,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:22,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:22,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:22,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:04:22,019 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 15:04:22,020 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 15:04:22,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:04:22,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:04:22,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 15:04:22,021 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 15:04:22,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {43#true} is VALID [2022-04-15 15:04:22,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:22,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:22,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:22,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:04:22,023 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 15:04:22,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {43#true} is VALID [2022-04-15 15:04:22,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:22,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:22,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:22,025 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:04:22,026 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 15:04:22,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:22,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:22,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:22,028 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:04:22,028 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 15:04:22,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:04:22,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:04:22,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:04:22,030 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:04:22,031 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 15:04:22,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 15:04:22,036 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 15:04:22,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 15:04:22,037 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 15:04:22,037 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 15:04:22,037 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 15:04:22,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:22,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2126655281] [2022-04-15 15:04:22,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2126655281] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:22,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:22,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:04:22,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:22,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [565028429] [2022-04-15 15:04:22,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [565028429] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:22,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:22,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:04:22,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [424023942] [2022-04-15 15:04:22,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:22,052 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 15:04:22,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:22,057 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 15:04:22,099 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 15:04:22,099 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:04:22,099 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:22,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:04:22,122 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:04:22,124 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 15:04:22,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:22,344 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 15:04:22,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:04:22,344 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 15:04:22,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:22,345 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 15:04:22,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:04:22,374 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 15:04:22,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:04:22,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 15:04:22,526 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 15:04:22,534 INFO L225 Difference]: With dead ends: 73 [2022-04-15 15:04:22,534 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 15:04:22,537 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 15:04:22,540 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 15:04:22,541 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 15:04:22,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 15:04:22,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 15:04:22,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:22,568 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 15:04:22,569 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 15:04:22,570 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 15:04:22,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:22,575 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:04:22,575 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:04:22,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:22,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:22,577 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 15:04:22,577 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 15:04:22,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:22,582 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:04:22,582 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:04:22,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:22,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:22,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:22,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:22,584 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 15:04:22,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 15:04:22,589 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 15:04:22,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:22,589 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 15:04:22,589 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 15:04:22,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 15:04:22,636 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 15:04:22,636 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:04:22,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 15:04:22,639 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:22,639 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 15:04:22,639 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:04:22,639 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:22,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:22,641 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 15:04:22,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:22,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1894508896] [2022-04-15 15:04:22,642 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:22,642 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 15:04:22,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:22,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1335006291] [2022-04-15 15:04:22,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:22,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:22,667 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:22,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1455112632] [2022-04-15 15:04:22,667 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:22,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:22,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:22,672 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 15:04:22,673 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 15:04:22,730 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 15:04:22,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:22,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:04:22,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:22,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:23,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 15:04:23,056 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 15:04:23,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:04:23,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 15:04:23,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 15:04:23,057 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 15:04:23,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {353#true} is VALID [2022-04-15 15:04:23,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:04:23,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:04:23,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:04:23,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 15:04:23,058 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 15:04:23,059 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {353#true} is VALID [2022-04-15 15:04:23,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:04:23,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:04:23,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:04:23,059 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 15:04:23,059 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 15:04:23,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:04:23,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:04:23,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:04:23,060 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 15:04:23,060 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 15:04:23,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:04:23,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:04:23,061 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:04:23,061 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 15:04:23,062 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 15:04:23,063 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 15:04:23,064 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 15:04:23,065 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 15:04:23,066 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 15:04:23,066 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 15:04:23,066 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 15:04:23,067 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 15:04:23,067 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:04:23,067 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:23,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1335006291] [2022-04-15 15:04:23,068 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:23,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1455112632] [2022-04-15 15:04:23,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1455112632] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:23,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:23,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:04:23,070 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:23,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1894508896] [2022-04-15 15:04:23,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1894508896] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:23,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:23,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:04:23,071 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [8018478] [2022-04-15 15:04:23,071 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:23,072 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 15:04:23,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:23,072 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 15:04:23,093 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 15:04:23,094 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:04:23,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:23,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:04:23,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:04:23,104 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 15:04:23,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:23,481 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 15:04:23,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:04:23,482 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 15:04:23,482 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:23,483 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 15:04:23,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:04:23,486 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 15:04:23,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:04:23,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 15:04:23,549 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 15:04:23,552 INFO L225 Difference]: With dead ends: 54 [2022-04-15 15:04:23,552 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 15:04:23,552 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 15:04:23,554 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 15:04:23,554 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 15:04:23,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 15:04:23,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 15:04:23,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:23,567 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 15:04:23,568 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 15:04:23,568 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 15:04:23,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:23,572 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:04:23,572 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:04:23,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:23,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:23,573 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 15:04:23,574 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 15:04:23,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:23,577 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:04:23,577 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:04:23,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:23,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:23,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:23,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:23,579 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 15:04:23,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 15:04:23,582 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 15:04:23,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:23,583 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 15:04:23,583 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 15:04:23,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 15:04:23,661 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 15:04:23,662 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 15:04:23,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 15:04:23,664 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:23,664 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 15:04:23,688 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 15:04:23,883 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 15:04:23,884 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:23,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:23,884 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 15:04:23,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:23,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1342142704] [2022-04-15 15:04:23,885 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:23,885 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 15:04:23,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:23,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [162529049] [2022-04-15 15:04:23,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:23,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:23,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:23,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1530545667] [2022-04-15 15:04:23,910 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:23,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:23,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:23,911 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 15:04:23,930 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 15:04:23,976 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:23,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:23,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 15:04:23,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:23,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:24,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:04:24,176 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 15:04:24,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:04:24,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:04:24,177 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 15:04:24,177 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-15 15:04:24,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,178 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:04:24,178 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 15:04:24,178 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-15 15:04:24,178 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,181 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,181 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,182 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:04:24,182 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 15:04:24,182 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 15:04:24,184 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 15:04:24,184 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 15:04:24,190 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 15:04:24,193 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 15:04:24,193 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,193 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,200 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 15:04:24,200 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 15:04:24,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:04:24,202 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 15:04:24,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:04:24,214 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 15:04:24,215 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 15:04:24,216 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:04:24,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:04:24,216 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 15:04:24,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:04:24,217 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:04:24,217 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:04:24,217 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 15:04:24,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:24,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:04:24,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:04:24,478 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:04:24,478 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 15:04:24,479 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:04:24,479 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:04:24,480 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 15:04:24,480 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 15:04:24,480 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:04:24,481 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 15:04:24,485 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:04:24,485 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 15:04:24,487 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 15:04:24,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,487 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,488 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 15:04:24,488 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 15:04:24,489 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 15:04:24,489 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 15:04:24,490 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 15:04:24,490 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 15:04:24,490 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:04:24,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,490 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-15 15:04:24,491 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 15:04:24,491 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:04:24,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,491 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:04:24,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:04:24,491 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-15 15:04:24,492 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 15:04:24,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:04:24,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:04:24,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:04:24,492 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 15:04:24,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:04:24,493 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 15:04:24,493 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:24,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [162529049] [2022-04-15 15:04:24,493 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:24,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1530545667] [2022-04-15 15:04:24,493 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1530545667] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:24,494 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:24,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 15:04:24,494 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:24,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1342142704] [2022-04-15 15:04:24,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1342142704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:24,494 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:24,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:04:24,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [999169354] [2022-04-15 15:04:24,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:24,495 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 15:04:24,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:24,496 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 15:04:24,518 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 15:04:24,518 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:04:24,518 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:24,519 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:04:24,519 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:04:24,519 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 15:04:25,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:25,255 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 15:04:25,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:04:25,255 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 15:04:25,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:25,256 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 15:04:25,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:04:25,264 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 15:04:25,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:04:25,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 15:04:25,362 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 15:04:25,368 INFO L225 Difference]: With dead ends: 103 [2022-04-15 15:04:25,368 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 15:04:25,369 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 15:04:25,375 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:25,376 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:04:25,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 15:04:25,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 15:04:25,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:25,480 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 15:04:25,480 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 15:04:25,481 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 15:04:25,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:25,490 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:04:25,490 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:04:25,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:25,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:25,492 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 15:04:25,493 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 15:04:25,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:25,498 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:04:25,498 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:04:25,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:25,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:25,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:25,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:25,500 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 15:04:25,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 15:04:25,504 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 15:04:25,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:25,504 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 15:04:25,504 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 15:04:25,505 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 15:04:25,612 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 15:04:25,613 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 15:04:25,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 15:04:25,614 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:25,614 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 15:04:25,640 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 15:04:25,827 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 15:04:25,828 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:25,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:25,828 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 15:04:25,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:25,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2101397862] [2022-04-15 15:04:25,828 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:25,829 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 15:04:25,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:25,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1256975466] [2022-04-15 15:04:25,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:25,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:25,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:25,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1263025002] [2022-04-15 15:04:25,847 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:25,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:25,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:25,848 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 15:04:25,857 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 15:04:25,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:25,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:25,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 15:04:25,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:25,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:26,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:04:26,517 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 15:04:26,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:04:26,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:04:26,517 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 15:04:26,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:04:26,518 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 15:04:26,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,519 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 15:04:26,519 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 15:04:26,520 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 15:04:26,520 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 5))} is VALID [2022-04-15 15:04:26,521 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,521 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 15:04:26,522 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 15:04:26,522 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 15:04:26,523 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,523 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,523 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,523 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,524 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,525 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:04:26,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:04:26,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:04:26,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,532 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,533 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,534 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} assume !false; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:26,535 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} 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 15:04:26,535 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 15:04:26,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:04:26,536 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:04:26,536 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 15:04:26,536 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:26,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:04:26,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:04:26,976 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 15:04:26,977 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 15:04:26,978 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 15:04:26,978 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 15:04:26,979 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 15:04:26,979 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 15:04:26,980 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 15:04:26,980 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 15:04:26,981 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 15:04:26,981 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 15:04:26,982 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 15:04:26,982 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 15:04:26,983 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 15:04:26,983 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-15 15:04:26,983 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,983 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,984 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,984 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 15:04:26,984 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-15 15:04:26,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,984 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,985 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 15:04:26,985 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-15 15:04:26,985 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,985 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,985 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,985 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,985 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 15:04:26,986 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:04:26,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:04:26,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:04:26,986 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:04:26,986 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 15:04:26,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:04:26,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:04:26,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:04:26,987 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 15:04:26,987 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:04:26,987 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 15:04:26,988 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:26,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1256975466] [2022-04-15 15:04:26,988 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:26,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1263025002] [2022-04-15 15:04:26,988 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1263025002] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:26,988 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:26,988 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 15:04:26,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:26,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2101397862] [2022-04-15 15:04:26,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2101397862] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:26,989 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:26,989 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:04:26,989 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [492567076] [2022-04-15 15:04:26,989 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:26,990 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 15:04:26,990 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:26,990 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 15:04:27,016 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 15:04:27,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:04:27,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:27,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:04:27,017 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 15:04:27,018 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 15:04:28,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:28,523 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-15 15:04:28,523 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 15:04:28,523 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 15:04:28,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:28,524 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 15:04:28,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 15:04:28,527 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 15:04:28,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 15:04:28,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-15 15:04:28,639 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 15:04:28,642 INFO L225 Difference]: With dead ends: 112 [2022-04-15 15:04:28,642 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 15:04:28,642 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:04:28,643 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:28,643 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.5s Time] [2022-04-15 15:04:28,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 15:04:28,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-15 15:04:28,827 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:28,827 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 15:04:28,828 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 15:04:28,828 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 15:04:28,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:28,833 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 15:04:28,833 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 15:04:28,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:28,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:28,834 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 15:04:28,835 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 15:04:28,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:28,840 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 15:04:28,840 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 15:04:28,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:28,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:28,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:28,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:28,841 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 15:04:28,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-15 15:04:28,845 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-15 15:04:28,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:28,845 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-15 15:04:28,845 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 15:04:28,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-15 15:04:28,981 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 15:04:28,981 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-15 15:04:28,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:04:28,982 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:28,982 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 15:04:28,998 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 15:04:29,182 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 15:04:29,183 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:29,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:29,183 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 15:04:29,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:29,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1592143480] [2022-04-15 15:04:29,184 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:29,184 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 15:04:29,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:29,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1584429520] [2022-04-15 15:04:29,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:29,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:29,215 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:29,215 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2096494188] [2022-04-15 15:04:29,216 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:29,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:29,216 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:29,220 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 15:04:29,222 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 15:04:29,267 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:29,267 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:29,268 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:04:29,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:29,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:29,565 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 15:04:29,566 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 15:04:29,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 15:04:29,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 15:04:29,566 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 15:04:29,566 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,567 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,567 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 15:04:29,567 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 15:04:29,567 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,568 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 15:04:29,568 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 15:04:29,568 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 15:04:29,569 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 5))} is VALID [2022-04-15 15:04:29,569 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,570 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:29,570 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,571 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:04:29,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} ~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 15:04:29,572 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 15:04:29,572 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 15:04:29,573 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 15:04:29,573 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 15:04:29,574 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 15:04:29,574 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 15:04:29,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,574 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,575 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 15:04:29,575 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 15:04:29,575 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,575 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,576 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 15:04:29,577 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 15:04:29,577 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 15:04:29,578 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 15:04:29,578 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 15:04:29,578 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 15:04:29,578 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:29,819 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 15:04:29,819 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 15:04:29,820 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 15:04:29,820 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 15:04:29,821 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 15:04:29,821 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,822 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 15:04:29,823 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 15:04:29,824 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,824 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,824 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,824 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 15:04:29,825 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 15:04:29,825 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 15:04:29,825 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 15:04:29,826 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 15:04:29,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-15 15:04:29,826 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 15:04:29,826 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-15 15:04:29,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,827 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,827 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,827 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 15:04:29,827 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-15 15:04:29,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,827 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,828 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 15:04:29,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-15 15:04:29,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,829 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 15:04:29,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 15:04:29,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:04:29,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:04:29,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:04:29,829 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 15:04:29,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 15:04:29,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 15:04:29,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:04:29,830 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 15:04:29,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 15:04:29,831 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 15:04:29,831 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:29,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1584429520] [2022-04-15 15:04:29,831 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:29,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2096494188] [2022-04-15 15:04:29,831 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2096494188] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:04:29,831 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:04:29,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 15:04:29,832 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:29,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1592143480] [2022-04-15 15:04:29,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1592143480] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:29,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:29,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:29,832 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [156522471] [2022-04-15 15:04:29,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:29,833 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 15:04:29,833 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:29,833 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 15:04:29,858 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 15:04:29,859 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:29,859 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:29,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:29,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:04:29,860 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 15:04:30,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:30,284 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-15 15:04:30,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:04:30,284 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 15:04:30,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:30,285 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 15:04:30,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:30,286 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 15:04:30,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:30,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 15:04:30,336 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 15:04:30,339 INFO L225 Difference]: With dead ends: 130 [2022-04-15 15:04:30,339 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 15:04:30,339 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 15:04:30,340 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 15:04:30,340 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 15:04:30,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 15:04:30,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-15 15:04:30,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:30,585 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 15:04:30,585 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 15:04:30,586 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 15:04:30,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:30,592 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 15:04:30,592 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 15:04:30,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:30,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:30,593 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 15:04:30,593 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 15:04:30,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:30,599 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 15:04:30,599 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 15:04:30,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:30,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:30,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:30,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:30,600 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 15:04:30,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-15 15:04:30,606 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-15 15:04:30,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:30,606 INFO L478 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-15 15:04:30,606 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 15:04:30,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-15 15:04:30,827 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 15:04:30,828 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-15 15:04:30,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:04:30,828 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:30,828 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 15:04:30,844 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 15:04:31,031 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 15:04:31,031 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:31,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:31,032 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-15 15:04:31,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:31,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1997949914] [2022-04-15 15:04:31,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:31,033 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-15 15:04:31,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:31,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138179649] [2022-04-15 15:04:31,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:31,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:31,057 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:31,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1569941960] [2022-04-15 15:04:31,057 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:31,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:31,057 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:31,059 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 15:04:31,060 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 15:04:31,103 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:31,103 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:31,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 15:04:31,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:31,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:31,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 15:04:31,439 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 15:04:31,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 15:04:31,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 15:04:31,439 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 15:04:31,439 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:31,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 15:04:31,440 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 15:04:31,440 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,440 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-15 15:04:31,441 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 15:04:31,441 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,441 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,441 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,441 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-15 15:04:31,441 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 15:04:31,441 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,442 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-15 15:04:31,443 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; {3616#(and (= main_~r~0 0) (= 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 15:04:31,444 INFO L290 TraceCheckUtils]: 28: Hoare triple {3616#(and (= main_~r~0 0) (= 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; {3616#(and (= main_~r~0 0) (= 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 15:04:31,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {3616#(and (= main_~r~0 0) (= 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; {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:31,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:31,451 INFO L290 TraceCheckUtils]: 31: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:31,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,453 INFO L290 TraceCheckUtils]: 33: Hoare triple {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,454 INFO L290 TraceCheckUtils]: 36: Hoare triple {3640#(and (= main_~s~0 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; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,455 INFO L290 TraceCheckUtils]: 37: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,458 INFO L272 TraceCheckUtils]: 38: Hoare triple {3640#(and (= main_~s~0 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 15:04:31,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,462 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:04:31,462 INFO L272 TraceCheckUtils]: 43: Hoare triple {3640#(and (= main_~s~0 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)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:31,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:31,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 15:04:31,463 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 15:04:31,463 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 15:04:31,464 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:31,664 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 15:04:31,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 15:04:31,665 INFO L290 TraceCheckUtils]: 44: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:31,665 INFO L272 TraceCheckUtils]: 43: Hoare triple {3688#(= 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)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:31,666 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:31,666 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:31,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:31,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:31,667 INFO L272 TraceCheckUtils]: 38: Hoare triple {3688#(= 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 15:04:31,667 INFO L290 TraceCheckUtils]: 37: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:31,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {3688#(= 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; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:31,668 INFO L290 TraceCheckUtils]: 35: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:31,668 INFO L290 TraceCheckUtils]: 34: Hoare triple {3688#(= 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; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:31,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:32,711 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:32,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:04:32,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:04:32,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:04:32,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} assume !false; {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} is VALID [2022-04-15 15:04:32,713 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; {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} is VALID [2022-04-15 15:04:32,714 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:32,714 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 15:04:32,714 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:32,714 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 15:04:32,714 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-15 15:04:32,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:32,715 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 15:04:32,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:32,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:32,716 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:32,716 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 15:04:32,716 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 15:04:32,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 15:04:32,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:32,716 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 15:04:32,716 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 15:04:32,717 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 15:04:32,717 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:32,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2138179649] [2022-04-15 15:04:32,717 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:32,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1569941960] [2022-04-15 15:04:32,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1569941960] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:32,717 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:32,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 15:04:32,718 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:32,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1997949914] [2022-04-15 15:04:32,718 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1997949914] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:32,718 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:32,718 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:04:32,718 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [124764323] [2022-04-15 15:04:32,718 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:32,719 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-04-15 15:04:32,719 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:32,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:04:32,752 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 15:04:32,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:04:32,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:32,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:04:32,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:04:32,753 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:04:33,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:33,636 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-15 15:04:33,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:04:33,637 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-04-15 15:04:33,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:33,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:04:33,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-15 15:04:33,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:04:33,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-15 15:04:33,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-15 15:04:33,744 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 15:04:33,748 INFO L225 Difference]: With dead ends: 137 [2022-04-15 15:04:33,748 INFO L226 Difference]: Without dead ends: 135 [2022-04-15 15:04:33,749 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:04:33,749 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 32 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:33,751 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 233 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 206 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:04:33,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-15 15:04:34,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-15 15:04:34,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:34,010 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 15:04:34,011 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 15:04:34,011 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 15:04:34,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:34,016 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 15:04:34,016 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 15:04:34,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:34,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:34,017 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 15:04:34,018 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 15:04:34,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:34,023 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 15:04:34,023 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 15:04:34,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:34,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:34,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:34,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:34,024 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 15:04:34,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-15 15:04:34,029 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-15 15:04:34,029 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:34,029 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-15 15:04:34,029 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:04:34,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-15 15:04:34,220 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 15:04:34,220 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-15 15:04:34,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:04:34,221 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:34,221 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 15:04:34,237 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 15:04:34,423 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 15:04:34,423 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:34,425 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:34,425 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-15 15:04:34,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:34,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [741877976] [2022-04-15 15:04:34,426 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:34,426 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-15 15:04:34,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:34,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [50095277] [2022-04-15 15:04:34,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:34,427 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:34,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:34,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1946057913] [2022-04-15 15:04:34,442 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:04:34,442 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:34,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:34,443 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 15:04:34,448 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 15:04:34,484 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:04:34,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:34,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 15:04:34,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:34,495 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:34,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {4632#true} call ULTIMATE.init(); {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {4632#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); {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4632#true} {4632#true} #112#return; {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {4632#true} call #t~ret6 := main(); {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {4632#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; {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {4632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4632#true} is VALID [2022-04-15 15:04:34,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4632#true} {4632#true} #94#return; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {4632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L272 TraceCheckUtils]: 12: Hoare triple {4632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-15 15:04:34,627 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4632#true} {4632#true} #96#return; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L272 TraceCheckUtils]: 17: Hoare triple {4632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4632#true} {4632#true} #98#return; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L272 TraceCheckUtils]: 22: Hoare triple {4632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 24: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L290 TraceCheckUtils]: 25: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-15 15:04:34,628 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4632#true} {4632#true} #100#return; {4632#true} is VALID [2022-04-15 15:04:34,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {4632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4632#true} is VALID [2022-04-15 15:04:34,629 INFO L290 TraceCheckUtils]: 28: Hoare triple {4632#true} assume !false; {4632#true} is VALID [2022-04-15 15:04:34,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {4632#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4632#true} is VALID [2022-04-15 15:04:34,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {4632#true} assume !false; {4632#true} is VALID [2022-04-15 15:04:34,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {4632#true} assume !(~c~0 >= ~b~0); {4730#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:04:34,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {4730#(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; {4734#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:34,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {4734#(< main_~b~0 main_~a~0)} assume !false; {4734#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:34,631 INFO L290 TraceCheckUtils]: 34: Hoare triple {4734#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4741#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:34,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {4741#(< main_~b~0 main_~c~0)} assume !false; {4741#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {4741#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {4633#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; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 38: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 39: Hoare triple {4633#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 40: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 41: Hoare triple {4633#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 42: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L272 TraceCheckUtils]: 43: Hoare triple {4633#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4633#false} is VALID [2022-04-15 15:04:34,632 INFO L290 TraceCheckUtils]: 44: Hoare triple {4633#false} ~cond := #in~cond; {4633#false} is VALID [2022-04-15 15:04:34,633 INFO L290 TraceCheckUtils]: 45: Hoare triple {4633#false} assume 0 == ~cond; {4633#false} is VALID [2022-04-15 15:04:34,633 INFO L290 TraceCheckUtils]: 46: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-15 15:04:34,633 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 15:04:34,633 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:04:34,633 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:34,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [50095277] [2022-04-15 15:04:34,633 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:34,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1946057913] [2022-04-15 15:04:34,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1946057913] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:34,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:34,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:34,634 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:34,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [741877976] [2022-04-15 15:04:34,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [741877976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:34,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:34,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:34,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [465491225] [2022-04-15 15:04:34,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:34,635 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 15:04:34,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:34,635 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 15:04:34,663 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 15:04:34,664 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:34,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:34,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:34,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:04:34,664 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 15:04:35,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:35,162 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-15 15:04:35,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:04:35,162 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 15:04:35,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:35,163 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 15:04:35,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 15:04:35,165 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 15:04:35,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 15:04:35,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-15 15:04:35,243 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 15:04:35,245 INFO L225 Difference]: With dead ends: 170 [2022-04-15 15:04:35,245 INFO L226 Difference]: Without dead ends: 114 [2022-04-15 15:04:35,246 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 15:04:35,247 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 15:04:35,247 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 15:04:35,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-15 15:04:35,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-15 15:04:35,426 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:35,426 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 15:04:35,426 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 15:04:35,426 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 15:04:35,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:35,430 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 15:04:35,430 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 15:04:35,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:35,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:35,431 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 15:04:35,431 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 15:04:35,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:35,435 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 15:04:35,435 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 15:04:35,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:35,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:35,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:35,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:35,436 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 15:04:35,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-15 15:04:35,440 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-15 15:04:35,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:35,440 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-15 15:04:35,440 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 15:04:35,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-15 15:04:35,642 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 15:04:35,643 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-15 15:04:35,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 15:04:35,643 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:35,643 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 15:04:35,659 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 15:04:35,844 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 15:04:35,844 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:35,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:35,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 15:04:35,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:35,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [21127725] [2022-04-15 15:04:35,845 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:35,845 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 15:04:35,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:35,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649907583] [2022-04-15 15:04:35,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:35,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:35,858 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:35,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218011224] [2022-04-15 15:04:35,858 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:35,858 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:35,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:35,859 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 15:04:35,873 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 15:04:35,911 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:35,912 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:35,912 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:04:35,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:35,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:36,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#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); {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #112#return; {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret6 := main(); {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#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; {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L272 TraceCheckUtils]: 6: Hoare triple {5562#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5562#true} {5562#true} #94#return; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 11: Hoare triple {5562#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L272 TraceCheckUtils]: 12: Hoare triple {5562#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 13: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5562#true} {5562#true} #96#return; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L272 TraceCheckUtils]: 17: Hoare triple {5562#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,068 INFO L290 TraceCheckUtils]: 19: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5562#true} {5562#true} #98#return; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L272 TraceCheckUtils]: 22: Hoare triple {5562#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 24: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5562#true} {5562#true} #100#return; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {5562#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5562#true} is VALID [2022-04-15 15:04:36,069 INFO L290 TraceCheckUtils]: 28: Hoare triple {5562#true} assume !false; {5562#true} is VALID [2022-04-15 15:04:36,070 INFO L290 TraceCheckUtils]: 29: Hoare triple {5562#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5562#true} is VALID [2022-04-15 15:04:36,070 INFO L290 TraceCheckUtils]: 30: Hoare triple {5562#true} assume !false; {5562#true} is VALID [2022-04-15 15:04:36,073 INFO L290 TraceCheckUtils]: 31: Hoare triple {5562#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:36,074 INFO L290 TraceCheckUtils]: 32: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:36,074 INFO L272 TraceCheckUtils]: 33: Hoare triple {5660#(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)); {5562#true} is VALID [2022-04-15 15:04:36,074 INFO L290 TraceCheckUtils]: 34: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,074 INFO L290 TraceCheckUtils]: 35: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,074 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,075 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:36,075 INFO L272 TraceCheckUtils]: 38: Hoare triple {5660#(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)); {5562#true} is VALID [2022-04-15 15:04:36,075 INFO L290 TraceCheckUtils]: 39: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,075 INFO L290 TraceCheckUtils]: 40: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,076 INFO L290 TraceCheckUtils]: 41: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,076 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:36,076 INFO L272 TraceCheckUtils]: 43: Hoare triple {5660#(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)); {5562#true} is VALID [2022-04-15 15:04:36,076 INFO L290 TraceCheckUtils]: 44: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-15 15:04:36,077 INFO L290 TraceCheckUtils]: 45: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-15 15:04:36,077 INFO L290 TraceCheckUtils]: 46: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 15:04:36,077 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:36,078 INFO L272 TraceCheckUtils]: 48: Hoare triple {5660#(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)); {5712#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:36,078 INFO L290 TraceCheckUtils]: 49: Hoare triple {5712#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5716#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:36,079 INFO L290 TraceCheckUtils]: 50: Hoare triple {5716#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 15:04:36,079 INFO L290 TraceCheckUtils]: 51: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 15:04:36,079 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 15:04:36,079 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:04:36,079 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:36,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1649907583] [2022-04-15 15:04:36,079 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:36,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218011224] [2022-04-15 15:04:36,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218011224] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:36,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:36,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:36,080 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:36,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [21127725] [2022-04-15 15:04:36,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [21127725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:36,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:36,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:36,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589482397] [2022-04-15 15:04:36,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:36,081 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 15:04:36,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:36,082 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 15:04:36,125 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 15:04:36,125 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:36,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:36,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:36,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:04:36,126 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 15:04:36,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:36,607 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-15 15:04:36,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:04:36,607 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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 15:04:36,607 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:36,608 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 15:04:36,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:36,609 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 15:04:36,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:36,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 15:04:36,658 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 15:04:36,660 INFO L225 Difference]: With dead ends: 158 [2022-04-15 15:04:36,660 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 15:04:36,661 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 15:04:36,661 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 15:04:36,662 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 15:04:36,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 15:04:36,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-15 15:04:36,938 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:36,939 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 15:04:36,939 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 15:04:36,939 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 15:04:36,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:36,945 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 15:04:36,945 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 15:04:36,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:36,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:36,947 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 15:04:36,947 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 15:04:36,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:36,953 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 15:04:36,953 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 15:04:36,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:36,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:36,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:36,954 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:36,954 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 15:04:36,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-15 15:04:36,974 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-15 15:04:36,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:36,975 INFO L478 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-15 15:04:36,976 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 15:04:36,976 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-15 15:04:37,224 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 15:04:37,224 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-15 15:04:37,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 15:04:37,225 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:37,225 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 15:04:37,243 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 15:04:37,427 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 15:04:37,427 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:37,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:37,428 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 15:04:37,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:37,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [771953186] [2022-04-15 15:04:37,428 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:37,428 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 15:04:37,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:37,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2036168061] [2022-04-15 15:04:37,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:37,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:37,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:37,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1536242893] [2022-04-15 15:04:37,442 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:37,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:37,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:37,444 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 15:04:37,477 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 15:04:37,502 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:37,502 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:37,504 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-15 15:04:37,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:37,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:38,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {6632#true} call ULTIMATE.init(); {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {6632#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); {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6632#true} {6632#true} #112#return; {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {6632#true} call #t~ret6 := main(); {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {6632#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; {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,247 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6632#true} {6632#true} #94#return; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {6632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6632#true} {6632#true} #96#return; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6632#true} {6632#true} #98#return; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L272 TraceCheckUtils]: 22: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,248 INFO L290 TraceCheckUtils]: 24: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,249 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6632#true} {6632#true} #100#return; {6632#true} is VALID [2022-04-15 15:04:38,250 INFO L290 TraceCheckUtils]: 27: Hoare triple {6632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6718#(and (= main_~r~0 0) (= 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 15:04:38,250 INFO L290 TraceCheckUtils]: 28: Hoare triple {6718#(and (= main_~r~0 0) (= 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; {6718#(and (= main_~r~0 0) (= 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 15:04:38,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {6718#(and (= main_~r~0 0) (= 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; {6725#(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 15:04:38,251 INFO L290 TraceCheckUtils]: 30: Hoare triple {6725#(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; {6725#(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 15:04:38,251 INFO L290 TraceCheckUtils]: 31: Hoare triple {6725#(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; {6732#(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 15:04:38,252 INFO L290 TraceCheckUtils]: 32: Hoare triple {6732#(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; {6732#(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 15:04:38,252 INFO L272 TraceCheckUtils]: 33: Hoare triple {6732#(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)); {6632#true} is VALID [2022-04-15 15:04:38,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {6632#true} ~cond := #in~cond; {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:38,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:38,253 INFO L290 TraceCheckUtils]: 36: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:38,254 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6732#(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; {6753#(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 15:04:38,254 INFO L272 TraceCheckUtils]: 38: Hoare triple {6753#(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)); {6632#true} is VALID [2022-04-15 15:04:38,254 INFO L290 TraceCheckUtils]: 39: Hoare triple {6632#true} ~cond := #in~cond; {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:38,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:38,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:38,256 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6753#(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; {6753#(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 15:04:38,256 INFO L272 TraceCheckUtils]: 43: Hoare triple {6753#(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)); {6632#true} is VALID [2022-04-15 15:04:38,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,256 INFO L290 TraceCheckUtils]: 46: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,257 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6632#true} {6753#(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; {6753#(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 15:04:38,257 INFO L272 TraceCheckUtils]: 48: Hoare triple {6753#(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)); {6632#true} is VALID [2022-04-15 15:04:38,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:04:38,257 INFO L290 TraceCheckUtils]: 50: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:04:38,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:04:38,258 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6632#true} {6753#(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; {6753#(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 15:04:38,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {6753#(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); {6753#(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 15:04:38,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {6753#(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; {6805#(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 15:04:38,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {6805#(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; {6805#(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 15:04:38,260 INFO L290 TraceCheckUtils]: 56: Hoare triple {6805#(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); {6805#(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 15:04:38,260 INFO L290 TraceCheckUtils]: 57: Hoare triple {6805#(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; {6815#(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 15:04:38,261 INFO L290 TraceCheckUtils]: 58: Hoare triple {6815#(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; {6815#(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 15:04:38,261 INFO L290 TraceCheckUtils]: 59: Hoare triple {6815#(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); {6822#(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 15:04:38,262 INFO L272 TraceCheckUtils]: 60: Hoare triple {6822#(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)); {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:38,262 INFO L290 TraceCheckUtils]: 61: Hoare triple {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6830#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:38,263 INFO L290 TraceCheckUtils]: 62: Hoare triple {6830#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6633#false} is VALID [2022-04-15 15:04:38,263 INFO L290 TraceCheckUtils]: 63: Hoare triple {6633#false} assume !false; {6633#false} is VALID [2022-04-15 15:04:38,263 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 15:04:38,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:05:14,735 INFO L290 TraceCheckUtils]: 63: Hoare triple {6633#false} assume !false; {6633#false} is VALID [2022-04-15 15:05:14,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {6830#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6633#false} is VALID [2022-04-15 15:05:14,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6830#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:14,737 INFO L272 TraceCheckUtils]: 60: Hoare triple {6846#(= (+ (* 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)); {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:14,737 INFO L290 TraceCheckUtils]: 59: Hoare triple {6850#(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); {6846#(= (+ (* 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 15:05:14,738 INFO L290 TraceCheckUtils]: 58: Hoare triple {6850#(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; {6850#(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 15:05:14,964 INFO L290 TraceCheckUtils]: 57: Hoare triple {6857#(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; {6850#(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 15:05:14,964 INFO L290 TraceCheckUtils]: 56: Hoare triple {6857#(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); {6857#(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 15:05:14,965 INFO L290 TraceCheckUtils]: 55: Hoare triple {6857#(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; {6857#(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 15:05:15,274 INFO L290 TraceCheckUtils]: 54: Hoare triple {6867#(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; {6857#(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 15:05:15,275 INFO L290 TraceCheckUtils]: 53: Hoare triple {6867#(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); {6867#(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 15:05:15,276 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6632#true} {6867#(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; {6867#(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 15:05:15,276 INFO L290 TraceCheckUtils]: 51: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,276 INFO L290 TraceCheckUtils]: 50: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,276 INFO L290 TraceCheckUtils]: 49: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,276 INFO L272 TraceCheckUtils]: 48: Hoare triple {6867#(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)); {6632#true} is VALID [2022-04-15 15:05:15,277 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6632#true} {6867#(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; {6867#(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 15:05:15,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,277 INFO L290 TraceCheckUtils]: 44: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,277 INFO L272 TraceCheckUtils]: 43: Hoare triple {6867#(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)); {6632#true} is VALID [2022-04-15 15:05:15,278 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6904#(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; {6867#(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 15:05:15,279 INFO L290 TraceCheckUtils]: 41: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:15,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:15,279 INFO L290 TraceCheckUtils]: 39: Hoare triple {6632#true} ~cond := #in~cond; {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:05:15,280 INFO L272 TraceCheckUtils]: 38: Hoare triple {6904#(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)); {6632#true} is VALID [2022-04-15 15:05:15,281 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6921#(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; {6904#(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 15:05:15,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:15,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:15,282 INFO L290 TraceCheckUtils]: 34: Hoare triple {6632#true} ~cond := #in~cond; {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:05:15,282 INFO L272 TraceCheckUtils]: 33: Hoare triple {6921#(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)); {6632#true} is VALID [2022-04-15 15:05:15,282 INFO L290 TraceCheckUtils]: 32: Hoare triple {6921#(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; {6921#(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 15:05:15,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {6940#(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; {6921#(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 15:05:15,284 INFO L290 TraceCheckUtils]: 30: Hoare triple {6940#(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; {6940#(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 15:05:15,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {6632#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6940#(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 15:05:15,285 INFO L290 TraceCheckUtils]: 28: Hoare triple {6632#true} assume !false; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L290 TraceCheckUtils]: 27: Hoare triple {6632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6632#true} {6632#true} #100#return; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L290 TraceCheckUtils]: 25: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L290 TraceCheckUtils]: 24: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L272 TraceCheckUtils]: 22: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6632#true} {6632#true} #98#return; {6632#true} is VALID [2022-04-15 15:05:15,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 19: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L272 TraceCheckUtils]: 17: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6632#true} {6632#true} #96#return; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 14: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L272 TraceCheckUtils]: 12: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {6632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6632#true} {6632#true} #94#return; {6632#true} is VALID [2022-04-15 15:05:15,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {6632#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; {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L272 TraceCheckUtils]: 4: Hoare triple {6632#true} call #t~ret6 := main(); {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6632#true} {6632#true} #112#return; {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {6632#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); {6632#true} is VALID [2022-04-15 15:05:15,287 INFO L272 TraceCheckUtils]: 0: Hoare triple {6632#true} call ULTIMATE.init(); {6632#true} is VALID [2022-04-15 15:05:15,288 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 15:05:15,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:15,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2036168061] [2022-04-15 15:05:15,288 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:15,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1536242893] [2022-04-15 15:05:15,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1536242893] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:05:15,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:05:15,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-15 15:05:15,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:15,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [771953186] [2022-04-15 15:05:15,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [771953186] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:15,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:15,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:05:15,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1670401363] [2022-04-15 15:05:15,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:15,290 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 15:05:15,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:15,290 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 15:05:15,329 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 15:05:15,329 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:05:15,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:15,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:05:15,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 15:05:15,330 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 15:05:17,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:17,668 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-15 15:05:17,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:05:17,668 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 15:05:17,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:17,668 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 15:05:17,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 15:05:17,671 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 15:05:17,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 15:05:17,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-15 15:05:17,810 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 15:05:17,814 INFO L225 Difference]: With dead ends: 200 [2022-04-15 15:05:17,814 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 15:05:17,815 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 15:05:17,815 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 47 mSDsluCounter, 284 mSDsCounter, 0 mSdLazyCounter, 678 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 706 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 678 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:17,816 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 329 Invalid, 706 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 678 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 15:05:17,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 15:05:18,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-15 15:05:18,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:18,248 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 15:05:18,248 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 15:05:18,248 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 15:05:18,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:18,257 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 15:05:18,257 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 15:05:18,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:18,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:18,258 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 15:05:18,259 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 15:05:18,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:18,267 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 15:05:18,267 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 15:05:18,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:18,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:18,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:18,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:18,268 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 15:05:18,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-15 15:05:18,297 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-15 15:05:18,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:18,297 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-15 15:05:18,298 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 15:05:18,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-15 15:05:18,683 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 15:05:18,683 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-15 15:05:18,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 15:05:18,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:18,684 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 15:05:18,703 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 15:05:18,899 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 15:05:18,900 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:18,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:18,900 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-15 15:05:18,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:18,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [502336504] [2022-04-15 15:05:18,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:18,901 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-15 15:05:18,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:18,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880921340] [2022-04-15 15:05:18,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:18,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:18,914 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:18,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1046491726] [2022-04-15 15:05:18,915 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:05:18,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:18,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:18,916 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 15:05:18,923 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 15:05:18,968 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:05:18,969 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:18,969 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 15:05:18,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:18,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:19,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {8224#true} call ULTIMATE.init(); {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {8224#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); {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8224#true} {8224#true} #112#return; {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {8224#true} call #t~ret6 := main(); {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {8224#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; {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8224#true} {8224#true} #94#return; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {8224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8224#true} {8224#true} #96#return; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8224#true} {8224#true} #98#return; {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L272 TraceCheckUtils]: 22: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8224#true} {8224#true} #100#return; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {8224#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 28: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 29: Hoare triple {8224#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-15 15:05:19,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {8224#true} assume !(~c~0 >= ~b~0); {8322#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:05:19,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {8322#(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; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:05:19,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !false; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:05:19,215 INFO L290 TraceCheckUtils]: 34: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:05:19,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !false; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:05:19,216 INFO L290 TraceCheckUtils]: 36: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,216 INFO L290 TraceCheckUtils]: 37: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !false; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,216 INFO L272 TraceCheckUtils]: 38: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,216 INFO L290 TraceCheckUtils]: 39: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,216 INFO L290 TraceCheckUtils]: 40: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,217 INFO L290 TraceCheckUtils]: 41: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,217 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #102#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,217 INFO L272 TraceCheckUtils]: 43: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,217 INFO L290 TraceCheckUtils]: 44: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,217 INFO L290 TraceCheckUtils]: 45: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,217 INFO L290 TraceCheckUtils]: 46: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,218 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #104#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,218 INFO L272 TraceCheckUtils]: 48: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,218 INFO L290 TraceCheckUtils]: 49: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,218 INFO L290 TraceCheckUtils]: 50: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,218 INFO L290 TraceCheckUtils]: 51: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,219 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #106#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,219 INFO L272 TraceCheckUtils]: 53: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,219 INFO L290 TraceCheckUtils]: 54: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,219 INFO L290 TraceCheckUtils]: 55: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,219 INFO L290 TraceCheckUtils]: 56: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,220 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #108#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,220 INFO L290 TraceCheckUtils]: 58: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,220 INFO L290 TraceCheckUtils]: 59: Hoare triple {8340#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,221 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#(< 0 main_~c~0)} assume !false; {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,221 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,222 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#(< 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; {8420#(< 0 main_~b~0)} is VALID [2022-04-15 15:05:19,222 INFO L290 TraceCheckUtils]: 63: Hoare triple {8420#(< 0 main_~b~0)} assume !false; {8420#(< 0 main_~b~0)} is VALID [2022-04-15 15:05:19,222 INFO L290 TraceCheckUtils]: 64: Hoare triple {8420#(< 0 main_~b~0)} assume !(0 != ~b~0); {8225#false} is VALID [2022-04-15 15:05:19,222 INFO L272 TraceCheckUtils]: 65: Hoare triple {8225#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)); {8225#false} is VALID [2022-04-15 15:05:19,222 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#false} ~cond := #in~cond; {8225#false} is VALID [2022-04-15 15:05:19,222 INFO L290 TraceCheckUtils]: 67: Hoare triple {8225#false} assume 0 == ~cond; {8225#false} is VALID [2022-04-15 15:05:19,223 INFO L290 TraceCheckUtils]: 68: Hoare triple {8225#false} assume !false; {8225#false} is VALID [2022-04-15 15:05:19,223 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 15:05:19,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:05:19,438 INFO L290 TraceCheckUtils]: 68: Hoare triple {8225#false} assume !false; {8225#false} is VALID [2022-04-15 15:05:19,438 INFO L290 TraceCheckUtils]: 67: Hoare triple {8225#false} assume 0 == ~cond; {8225#false} is VALID [2022-04-15 15:05:19,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#false} ~cond := #in~cond; {8225#false} is VALID [2022-04-15 15:05:19,438 INFO L272 TraceCheckUtils]: 65: Hoare triple {8225#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)); {8225#false} is VALID [2022-04-15 15:05:19,439 INFO L290 TraceCheckUtils]: 64: Hoare triple {8420#(< 0 main_~b~0)} assume !(0 != ~b~0); {8225#false} is VALID [2022-04-15 15:05:19,439 INFO L290 TraceCheckUtils]: 63: Hoare triple {8420#(< 0 main_~b~0)} assume !false; {8420#(< 0 main_~b~0)} is VALID [2022-04-15 15:05:19,439 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#(< 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; {8420#(< 0 main_~b~0)} is VALID [2022-04-15 15:05:19,440 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,440 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#(< 0 main_~c~0)} assume !false; {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,441 INFO L290 TraceCheckUtils]: 59: Hoare triple {8340#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8410#(< 0 main_~c~0)} is VALID [2022-04-15 15:05:19,441 INFO L290 TraceCheckUtils]: 58: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,441 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #108#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,441 INFO L290 TraceCheckUtils]: 56: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,441 INFO L290 TraceCheckUtils]: 55: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L290 TraceCheckUtils]: 54: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L272 TraceCheckUtils]: 53: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #106#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,442 INFO L290 TraceCheckUtils]: 51: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L290 TraceCheckUtils]: 50: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L290 TraceCheckUtils]: 49: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,442 INFO L272 TraceCheckUtils]: 48: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,443 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #104#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,443 INFO L290 TraceCheckUtils]: 46: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,443 INFO L290 TraceCheckUtils]: 45: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,443 INFO L290 TraceCheckUtils]: 44: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,443 INFO L272 TraceCheckUtils]: 43: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,444 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #102#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,444 INFO L290 TraceCheckUtils]: 41: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,444 INFO L290 TraceCheckUtils]: 40: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,444 INFO L290 TraceCheckUtils]: 39: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,444 INFO L272 TraceCheckUtils]: 38: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,463 INFO L290 TraceCheckUtils]: 37: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !false; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,464 INFO L290 TraceCheckUtils]: 36: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:05:19,464 INFO L290 TraceCheckUtils]: 35: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !false; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:05:19,465 INFO L290 TraceCheckUtils]: 34: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:05:19,466 INFO L290 TraceCheckUtils]: 33: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !false; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:05:19,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {8322#(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; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 31: Hoare triple {8224#true} assume !(~c~0 >= ~b~0); {8322#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 30: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 29: Hoare triple {8224#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8224#true} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 28: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 27: Hoare triple {8224#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8224#true} is VALID [2022-04-15 15:05:19,467 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8224#true} {8224#true} #100#return; {8224#true} is VALID [2022-04-15 15:05:19,467 INFO L290 TraceCheckUtils]: 25: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 24: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 23: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L272 TraceCheckUtils]: 22: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8224#true} {8224#true} #98#return; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 20: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L272 TraceCheckUtils]: 17: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8224#true} {8224#true} #96#return; {8224#true} is VALID [2022-04-15 15:05:19,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L272 TraceCheckUtils]: 12: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {8224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8224#true} {8224#true} #94#return; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-15 15:05:19,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {8224#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; {8224#true} is VALID [2022-04-15 15:05:19,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {8224#true} call #t~ret6 := main(); {8224#true} is VALID [2022-04-15 15:05:19,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8224#true} {8224#true} #112#return; {8224#true} is VALID [2022-04-15 15:05:19,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-15 15:05:19,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {8224#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); {8224#true} is VALID [2022-04-15 15:05:19,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {8224#true} call ULTIMATE.init(); {8224#true} is VALID [2022-04-15 15:05:19,470 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 15:05:19,470 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:19,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880921340] [2022-04-15 15:05:19,471 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:19,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046491726] [2022-04-15 15:05:19,471 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046491726] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:05:19,471 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:05:19,471 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-15 15:05:19,471 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:19,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [502336504] [2022-04-15 15:05:19,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [502336504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:19,472 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:19,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:05:19,472 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [579437673] [2022-04-15 15:05:19,472 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:19,472 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 15:05:19,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:19,473 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 15:05:19,513 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 15:05:19,513 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:05:19,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:19,514 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:05:19,514 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-15 15:05:19,514 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 15:05:21,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:21,479 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-15 15:05:21,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:05:21,479 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 15:05:21,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:21,479 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 15:05:21,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:05:21,495 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 15:05:21,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:05:21,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 15:05:21,661 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 15:05:21,668 INFO L225 Difference]: With dead ends: 288 [2022-04-15 15:05:21,668 INFO L226 Difference]: Without dead ends: 281 [2022-04-15 15:05:21,668 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 15:05:21,669 INFO L913 BasicCegarLoop]: 87 mSDtfsCounter, 48 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:21,669 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.5s Time] [2022-04-15 15:05:21,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-15 15:05:22,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-15 15:05:22,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:22,140 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 15:05:22,141 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 15:05:22,141 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 15:05:22,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:22,153 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 15:05:22,153 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 15:05:22,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:22,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:22,155 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 15:05:22,155 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 15:05:22,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:22,166 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 15:05:22,166 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 15:05:22,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:22,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:22,168 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:22,168 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:22,168 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 15:05:22,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-15 15:05:22,176 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-15 15:05:22,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:22,176 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-15 15:05:22,176 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 15:05:22,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-15 15:05:22,619 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 15:05:22,619 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-15 15:05:22,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 15:05:22,620 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:22,620 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 15:05:22,638 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 15:05:22,828 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 15:05:22,828 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:22,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:22,828 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-15 15:05:22,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:22,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1075398868] [2022-04-15 15:05:22,829 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:22,829 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-15 15:05:22,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:22,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1293550416] [2022-04-15 15:05:22,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:22,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:22,864 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:22,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [642754041] [2022-04-15 15:05:22,865 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:05:22,865 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:22,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:22,869 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 15:05:22,871 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 15:05:22,921 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:05:22,921 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:22,922 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 15:05:22,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:22,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:24,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {10226#true} call ULTIMATE.init(); {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {10226#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); {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10226#true} {10226#true} #112#return; {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {10226#true} call #t~ret6 := main(); {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {10226#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; {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L272 TraceCheckUtils]: 6: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {10226#true} ~cond := #in~cond; {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:05:24,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:05:24,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:05:24,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} {10226#true} #94#return; {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-15 15:05:24,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-15 15:05:24,039 INFO L272 TraceCheckUtils]: 12: Hoare triple {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {10226#true} ~cond := #in~cond; {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:05:24,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:05:24,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:05:24,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #96#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-15 15:05:24,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10226#true} {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} #98#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-15 15:05:24,045 INFO L272 TraceCheckUtils]: 22: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,046 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10226#true} {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} #100#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-15 15:05:24,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-15 15:05:24,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-15 15:05:24,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (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; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,048 INFO L290 TraceCheckUtils]: 32: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,048 INFO L272 TraceCheckUtils]: 33: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,049 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,049 INFO L272 TraceCheckUtils]: 38: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,050 INFO L290 TraceCheckUtils]: 40: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,050 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,050 INFO L272 TraceCheckUtils]: 43: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L290 TraceCheckUtils]: 46: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,051 INFO L272 TraceCheckUtils]: 48: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,051 INFO L290 TraceCheckUtils]: 50: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,052 INFO L290 TraceCheckUtils]: 51: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,052 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #108#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,053 INFO L290 TraceCheckUtils]: 53: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= 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; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,053 INFO L290 TraceCheckUtils]: 54: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,053 INFO L272 TraceCheckUtils]: 55: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,053 INFO L290 TraceCheckUtils]: 56: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,054 INFO L290 TraceCheckUtils]: 58: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,054 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,054 INFO L272 TraceCheckUtils]: 60: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,054 INFO L290 TraceCheckUtils]: 61: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,054 INFO L290 TraceCheckUtils]: 62: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,055 INFO L290 TraceCheckUtils]: 63: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,055 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,055 INFO L272 TraceCheckUtils]: 65: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= 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)); {10226#true} is VALID [2022-04-15 15:05:24,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,055 INFO L290 TraceCheckUtils]: 67: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,055 INFO L290 TraceCheckUtils]: 68: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,056 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:05:24,057 INFO L272 TraceCheckUtils]: 70: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= 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)); {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:24,057 INFO L290 TraceCheckUtils]: 71: Hoare triple {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:24,057 INFO L290 TraceCheckUtils]: 72: Hoare triple {10453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10227#false} is VALID [2022-04-15 15:05:24,057 INFO L290 TraceCheckUtils]: 73: Hoare triple {10227#false} assume !false; {10227#false} is VALID [2022-04-15 15:05:24,058 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 15:05:24,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:05:24,430 INFO L290 TraceCheckUtils]: 73: Hoare triple {10227#false} assume !false; {10227#false} is VALID [2022-04-15 15:05:24,430 INFO L290 TraceCheckUtils]: 72: Hoare triple {10453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10227#false} is VALID [2022-04-15 15:05:24,430 INFO L290 TraceCheckUtils]: 71: Hoare triple {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:24,431 INFO L272 TraceCheckUtils]: 70: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:24,432 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:05:24,432 INFO L290 TraceCheckUtils]: 68: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,432 INFO L290 TraceCheckUtils]: 67: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,432 INFO L290 TraceCheckUtils]: 66: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,432 INFO L272 TraceCheckUtils]: 65: Hoare triple {10469#(= 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)); {10226#true} is VALID [2022-04-15 15:05:24,436 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:05:24,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,436 INFO L290 TraceCheckUtils]: 62: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,436 INFO L290 TraceCheckUtils]: 61: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,436 INFO L272 TraceCheckUtils]: 60: Hoare triple {10469#(= 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)); {10226#true} is VALID [2022-04-15 15:05:24,437 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:05:24,437 INFO L290 TraceCheckUtils]: 58: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,438 INFO L272 TraceCheckUtils]: 55: Hoare triple {10469#(= 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)); {10226#true} is VALID [2022-04-15 15:05:24,438 INFO L290 TraceCheckUtils]: 54: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:05:24,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {10521#(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; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:05:24,441 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {10521#(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 15:05:24,441 INFO L290 TraceCheckUtils]: 51: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,441 INFO L290 TraceCheckUtils]: 50: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,441 INFO L272 TraceCheckUtils]: 48: Hoare triple {10521#(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)); {10226#true} is VALID [2022-04-15 15:05:24,442 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {10521#(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 15:05:24,442 INFO L290 TraceCheckUtils]: 46: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,442 INFO L290 TraceCheckUtils]: 45: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,442 INFO L290 TraceCheckUtils]: 44: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,442 INFO L272 TraceCheckUtils]: 43: Hoare triple {10521#(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)); {10226#true} is VALID [2022-04-15 15:05:24,443 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {10521#(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 15:05:24,443 INFO L290 TraceCheckUtils]: 41: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,443 INFO L272 TraceCheckUtils]: 38: Hoare triple {10521#(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)); {10226#true} is VALID [2022-04-15 15:05:24,444 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {10521#(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 15:05:24,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,444 INFO L290 TraceCheckUtils]: 35: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,444 INFO L272 TraceCheckUtils]: 33: Hoare triple {10521#(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)); {10226#true} is VALID [2022-04-15 15:05:24,444 INFO L290 TraceCheckUtils]: 32: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {10521#(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 15:05:24,445 INFO L290 TraceCheckUtils]: 31: Hoare triple {10226#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10521#(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 15:05:24,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {10226#true} assume !false; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {10226#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 28: Hoare triple {10226#true} assume !false; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {10226#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10226#true} {10226#true} #100#return; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L272 TraceCheckUtils]: 22: Hoare triple {10226#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10226#true} {10226#true} #98#return; {10226#true} is VALID [2022-04-15 15:05:24,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L272 TraceCheckUtils]: 17: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10226#true} {10226#true} #96#return; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L272 TraceCheckUtils]: 12: Hoare triple {10226#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {10226#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10226#true} {10226#true} #94#return; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-15 15:05:24,446 INFO L272 TraceCheckUtils]: 6: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {10226#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; {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {10226#true} call #t~ret6 := main(); {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10226#true} {10226#true} #112#return; {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {10226#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); {10226#true} is VALID [2022-04-15 15:05:24,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {10226#true} call ULTIMATE.init(); {10226#true} is VALID [2022-04-15 15:05:24,447 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 15:05:24,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:24,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1293550416] [2022-04-15 15:05:24,447 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:24,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [642754041] [2022-04-15 15:05:24,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [642754041] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:05:24,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:05:24,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 14 [2022-04-15 15:05:24,448 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:24,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1075398868] [2022-04-15 15:05:24,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1075398868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:24,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:24,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:05:24,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [954446933] [2022-04-15 15:05:24,448 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:24,449 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 15:05:24,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:24,449 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 15:05:24,485 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 15:05:24,486 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:05:24,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:24,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:05:24,486 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:05:24,486 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 15:05:25,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:25,105 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-15 15:05:25,105 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:05:25,105 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 15:05:25,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:25,105 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 15:05:25,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:05:25,106 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 15:05:25,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:05:25,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 15:05:25,151 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 15:05:25,156 INFO L225 Difference]: With dead ends: 214 [2022-04-15 15:05:25,157 INFO L226 Difference]: Without dead ends: 212 [2022-04-15 15:05:25,157 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 15:05:25,158 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 13 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:25,158 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 139 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:05:25,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-15 15:05:25,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-15 15:05:25,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:25,656 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 15:05:25,656 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 15:05:25,656 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 15:05:25,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:25,662 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 15:05:25,662 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:05:25,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:25,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:25,664 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 15:05:25,664 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 15:05:25,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:25,670 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 15:05:25,670 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:05:25,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:25,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:25,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:25,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:25,672 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 15:05:25,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-15 15:05:25,679 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-15 15:05:25,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:25,679 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-15 15:05:25,679 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 15:05:25,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-15 15:05:26,233 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 15:05:26,233 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:05:26,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 15:05:26,234 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:26,234 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 15:05:26,250 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-15 15:05:26,435 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 15:05:26,435 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:26,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:26,435 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-15 15:05:26,435 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:26,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1767393974] [2022-04-15 15:05:26,436 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:26,436 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-15 15:05:26,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:26,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318252216] [2022-04-15 15:05:26,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:26,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:26,449 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:26,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [875973651] [2022-04-15 15:05:26,449 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:05:26,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:26,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:26,451 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 15:05:26,462 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 15:05:26,505 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:05:26,505 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:26,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 15:05:26,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:26,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:26,721 INFO L272 TraceCheckUtils]: 0: Hoare triple {11961#true} call ULTIMATE.init(); {11961#true} is VALID [2022-04-15 15:05:26,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {11961#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); {11961#true} is VALID [2022-04-15 15:05:26,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11961#true} {11961#true} #112#return; {11961#true} is VALID [2022-04-15 15:05:26,721 INFO L272 TraceCheckUtils]: 4: Hoare triple {11961#true} call #t~ret6 := main(); {11961#true} is VALID [2022-04-15 15:05:26,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {11961#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; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L272 TraceCheckUtils]: 6: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11961#true} {11961#true} #94#return; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {11961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L272 TraceCheckUtils]: 12: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11961#true} {11961#true} #96#return; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L272 TraceCheckUtils]: 17: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11961#true} {11961#true} #98#return; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L272 TraceCheckUtils]: 22: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,725 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11961#true} {11961#true} #100#return; {11961#true} is VALID [2022-04-15 15:05:26,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {11961#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11961#true} is VALID [2022-04-15 15:05:26,725 INFO L290 TraceCheckUtils]: 28: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {11961#true} assume !(~c~0 >= ~b~0); {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {11961#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; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 33: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 34: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 35: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {11961#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L290 TraceCheckUtils]: 37: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:26,726 INFO L272 TraceCheckUtils]: 38: Hoare triple {11961#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L290 TraceCheckUtils]: 40: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L290 TraceCheckUtils]: 41: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11961#true} {11961#true} #102#return; {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L272 TraceCheckUtils]: 43: Hoare triple {11961#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,727 INFO L290 TraceCheckUtils]: 44: Hoare triple {11961#true} ~cond := #in~cond; {12098#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:26,728 INFO L290 TraceCheckUtils]: 45: Hoare triple {12098#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:26,728 INFO L290 TraceCheckUtils]: 46: Hoare triple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:26,729 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} {11961#true} #104#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,729 INFO L272 TraceCheckUtils]: 48: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,729 INFO L290 TraceCheckUtils]: 50: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,729 INFO L290 TraceCheckUtils]: 51: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,730 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,730 INFO L272 TraceCheckUtils]: 53: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:26,730 INFO L290 TraceCheckUtils]: 54: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:26,730 INFO L290 TraceCheckUtils]: 55: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:26,731 INFO L290 TraceCheckUtils]: 56: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:26,731 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,732 INFO L290 TraceCheckUtils]: 58: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,732 INFO L290 TraceCheckUtils]: 59: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,733 INFO L290 TraceCheckUtils]: 60: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,733 INFO L290 TraceCheckUtils]: 61: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:26,734 INFO L290 TraceCheckUtils]: 62: Hoare triple {12109#(= 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; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,734 INFO L290 TraceCheckUtils]: 63: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,735 INFO L290 TraceCheckUtils]: 64: Hoare triple {12155#(= 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; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,735 INFO L290 TraceCheckUtils]: 65: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,736 INFO L290 TraceCheckUtils]: 67: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:26,737 INFO L272 TraceCheckUtils]: 68: Hoare triple {12155#(= 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)); {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:26,737 INFO L290 TraceCheckUtils]: 69: Hoare triple {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12178#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:26,738 INFO L290 TraceCheckUtils]: 70: Hoare triple {12178#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11962#false} is VALID [2022-04-15 15:05:26,738 INFO L290 TraceCheckUtils]: 71: Hoare triple {11962#false} assume !false; {11962#false} is VALID [2022-04-15 15:05:26,739 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 15:05:26,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:05:43,232 INFO L290 TraceCheckUtils]: 71: Hoare triple {11962#false} assume !false; {11962#false} is VALID [2022-04-15 15:05:43,233 INFO L290 TraceCheckUtils]: 70: Hoare triple {12178#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11962#false} is VALID [2022-04-15 15:05:43,233 INFO L290 TraceCheckUtils]: 69: Hoare triple {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12178#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:43,234 INFO L272 TraceCheckUtils]: 68: Hoare triple {12155#(= 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)); {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:43,234 INFO L290 TraceCheckUtils]: 67: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,235 INFO L290 TraceCheckUtils]: 66: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,235 INFO L290 TraceCheckUtils]: 65: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,236 INFO L290 TraceCheckUtils]: 64: Hoare triple {12155#(= 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; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,236 INFO L290 TraceCheckUtils]: 63: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {12109#(= 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; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:05:43,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,237 INFO L290 TraceCheckUtils]: 60: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,238 INFO L290 TraceCheckUtils]: 59: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,238 INFO L290 TraceCheckUtils]: 58: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,239 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,239 INFO L290 TraceCheckUtils]: 56: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,239 INFO L290 TraceCheckUtils]: 55: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,239 INFO L290 TraceCheckUtils]: 54: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,240 INFO L272 TraceCheckUtils]: 53: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,241 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,241 INFO L290 TraceCheckUtils]: 51: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,241 INFO L290 TraceCheckUtils]: 50: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,241 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,241 INFO L272 TraceCheckUtils]: 48: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,242 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} {11961#true} #104#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:43,242 INFO L290 TraceCheckUtils]: 46: Hoare triple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:43,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {12266#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:43,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {11961#true} ~cond := #in~cond; {12266#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:05:43,243 INFO L272 TraceCheckUtils]: 43: Hoare triple {11961#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11961#true} {11961#true} #102#return; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L272 TraceCheckUtils]: 38: Hoare triple {11961#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {11961#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:43,244 INFO L290 TraceCheckUtils]: 34: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 33: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 32: Hoare triple {11961#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; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {11961#true} assume !(~c~0 >= ~b~0); {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 29: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {11961#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11961#true} {11961#true} #100#return; {11961#true} is VALID [2022-04-15 15:05:43,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L290 TraceCheckUtils]: 24: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L290 TraceCheckUtils]: 23: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L272 TraceCheckUtils]: 22: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11961#true} {11961#true} #98#return; {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L272 TraceCheckUtils]: 17: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,246 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11961#true} {11961#true} #96#return; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 15: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L272 TraceCheckUtils]: 12: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {11961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11961#true} {11961#true} #94#return; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-15 15:05:43,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {11961#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; {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {11961#true} call #t~ret6 := main(); {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11961#true} {11961#true} #112#return; {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {11961#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); {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {11961#true} call ULTIMATE.init(); {11961#true} is VALID [2022-04-15 15:05:43,248 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 15:05:43,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:43,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318252216] [2022-04-15 15:05:43,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:43,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [875973651] [2022-04-15 15:05:43,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [875973651] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:05:43,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:05:43,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 15:05:43,249 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:43,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1767393974] [2022-04-15 15:05:43,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1767393974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:43,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:43,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:05:43,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1508059188] [2022-04-15 15:05:43,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:43,250 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 15:05:43,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:43,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:05:43,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:43,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:05:43,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:43,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:05:43,300 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:05:43,301 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:05:44,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:44,304 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-15 15:05:44,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:05:44,304 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 15:05:44,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:44,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:05:44,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 15:05:44,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:05:44,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 15:05:44,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-15 15:05:44,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:44,357 INFO L225 Difference]: With dead ends: 226 [2022-04-15 15:05:44,357 INFO L226 Difference]: Without dead ends: 224 [2022-04-15 15:05:44,357 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:05:44,358 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:44,358 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 173 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:05:44,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-15 15:05:44,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-15 15:05:44,882 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:44,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:05:44,883 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:05:44,883 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:05:44,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:44,890 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 15:05:44,890 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:05:44,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:44,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:44,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 15:05:44,892 INFO L87 Difference]: Start difference. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 15:05:44,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:44,898 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 15:05:44,898 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:05:44,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:44,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:44,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:44,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:44,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:05:44,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-15 15:05:44,906 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-15 15:05:44,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:44,907 INFO L478 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-15 15:05:44,907 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:05:44,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-15 15:05:45,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:45,451 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:05:45,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 15:05:45,452 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:45,453 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:05:45,471 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 15:05:45,663 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 15:05:45,663 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:45,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:45,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-15 15:05:45,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:45,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [835829682] [2022-04-15 15:05:45,664 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:45,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-15 15:05:45,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:45,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110265002] [2022-04-15 15:05:45,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:45,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:45,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:45,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804440123] [2022-04-15 15:05:45,677 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:05:45,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:45,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:45,678 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 15:05:45,684 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 15:05:45,722 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:05:45,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:45,722 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 15:05:45,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:45,737 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:45,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {13756#true} call ULTIMATE.init(); {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {13756#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); {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13756#true} {13756#true} #112#return; {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {13756#true} call #t~ret6 := main(); {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {13756#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; {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {13756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13756#true} {13756#true} #94#return; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {13756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L272 TraceCheckUtils]: 12: Hoare triple {13756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13756#true} {13756#true} #96#return; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L272 TraceCheckUtils]: 17: Hoare triple {13756#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13756#true} {13756#true} #98#return; {13756#true} is VALID [2022-04-15 15:05:45,918 INFO L272 TraceCheckUtils]: 22: Hoare triple {13756#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 23: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 24: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 25: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13756#true} {13756#true} #100#return; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {13756#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {13756#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {13756#true} assume !(~c~0 >= ~b~0); {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {13756#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; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 33: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 34: Hoare triple {13756#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13756#true} is VALID [2022-04-15 15:05:45,919 INFO L290 TraceCheckUtils]: 35: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-15 15:05:45,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {13756#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,920 INFO L290 TraceCheckUtils]: 37: Hoare triple {13869#(<= main_~v~0 main_~b~0)} assume !false; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,920 INFO L272 TraceCheckUtils]: 38: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,920 INFO L290 TraceCheckUtils]: 39: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,921 INFO L290 TraceCheckUtils]: 41: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,923 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #102#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,924 INFO L272 TraceCheckUtils]: 43: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,924 INFO L290 TraceCheckUtils]: 44: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,924 INFO L290 TraceCheckUtils]: 45: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,924 INFO L290 TraceCheckUtils]: 46: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,924 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #104#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,925 INFO L272 TraceCheckUtils]: 48: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,925 INFO L290 TraceCheckUtils]: 49: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,925 INFO L290 TraceCheckUtils]: 50: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,925 INFO L290 TraceCheckUtils]: 51: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,927 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #106#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,928 INFO L272 TraceCheckUtils]: 53: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13756#true} is VALID [2022-04-15 15:05:45,928 INFO L290 TraceCheckUtils]: 54: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-15 15:05:45,928 INFO L290 TraceCheckUtils]: 55: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-15 15:05:45,928 INFO L290 TraceCheckUtils]: 56: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-15 15:05:45,928 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #108#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:45,929 INFO L290 TraceCheckUtils]: 58: Hoare triple {13869#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13936#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:05:45,930 INFO L290 TraceCheckUtils]: 59: Hoare triple {13936#(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; {13940#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:05:45,930 INFO L290 TraceCheckUtils]: 60: Hoare triple {13940#(< main_~c~0 main_~b~0)} assume !false; {13940#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 61: Hoare triple {13940#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 62: Hoare triple {13757#false} assume !false; {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L272 TraceCheckUtils]: 63: Hoare triple {13757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 64: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 65: Hoare triple {13757#false} assume !(0 == ~cond); {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 66: Hoare triple {13757#false} assume true; {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13757#false} {13757#false} #102#return; {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L272 TraceCheckUtils]: 68: Hoare triple {13757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13757#false} is VALID [2022-04-15 15:05:45,931 INFO L290 TraceCheckUtils]: 69: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L290 TraceCheckUtils]: 70: Hoare triple {13757#false} assume !(0 == ~cond); {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L290 TraceCheckUtils]: 71: Hoare triple {13757#false} assume true; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13757#false} {13757#false} #104#return; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L272 TraceCheckUtils]: 73: Hoare triple {13757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L290 TraceCheckUtils]: 74: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L290 TraceCheckUtils]: 75: Hoare triple {13757#false} assume 0 == ~cond; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L290 TraceCheckUtils]: 76: Hoare triple {13757#false} assume !false; {13757#false} is VALID [2022-04-15 15:05:45,932 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 15:05:45,933 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:05:45,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:45,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110265002] [2022-04-15 15:05:45,933 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:45,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804440123] [2022-04-15 15:05:45,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804440123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:45,933 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:45,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:05:45,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:45,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [835829682] [2022-04-15 15:05:45,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [835829682] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:45,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:45,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:05:45,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2111696675] [2022-04-15 15:05:45,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:45,935 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 15:05:45,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:45,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:45,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:45,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:05:45,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:45,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:05:45,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:05:45,982 INFO L87 Difference]: Start difference. First operand 224 states and 308 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:46,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:46,851 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-15 15:05:46,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:05:46,851 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 15:05:46,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:46,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:46,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 15:05:46,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:46,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 15:05:46,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-15 15:05:46,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:46,923 INFO L225 Difference]: With dead ends: 367 [2022-04-15 15:05:46,923 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 15:05:46,924 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:05:46,925 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:46,925 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 139 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:05:46,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 15:05:47,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-15 15:05:47,522 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:47,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:47,523 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:47,523 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:47,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:47,530 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 15:05:47,530 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 15:05:47,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:47,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:47,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 15:05:47,532 INFO L87 Difference]: Start difference. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 15:05:47,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:47,537 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 15:05:47,538 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 15:05:47,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:47,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:47,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:47,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:47,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:47,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-15 15:05:47,546 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-15 15:05:47,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:47,546 INFO L478 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-15 15:05:47,546 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:47,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-15 15:05:48,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:48,081 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-15 15:05:48,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 15:05:48,082 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:48,082 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:05:48,106 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 15:05:48,304 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 15:05:48,304 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:48,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:48,304 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-15 15:05:48,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:48,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [147271084] [2022-04-15 15:05:48,305 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:48,305 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-15 15:05:48,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:48,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [298584031] [2022-04-15 15:05:48,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:48,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:48,324 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:48,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938537897] [2022-04-15 15:05:48,325 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:05:48,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:48,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:48,326 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 15:05:48,329 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 15:05:48,377 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 15:05:48,378 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:48,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-15 15:05:48,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:48,392 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:49,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {15616#true} call ULTIMATE.init(); {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {15616#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); {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15616#true} {15616#true} #112#return; {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L272 TraceCheckUtils]: 4: Hoare triple {15616#true} call #t~ret6 := main(); {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {15616#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; {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L272 TraceCheckUtils]: 6: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 7: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 8: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15616#true} {15616#true} #94#return; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {15616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L272 TraceCheckUtils]: 12: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15616#true} {15616#true} #96#return; {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L272 TraceCheckUtils]: 17: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L290 TraceCheckUtils]: 19: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15616#true} {15616#true} #98#return; {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L272 TraceCheckUtils]: 22: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,551 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15616#true} {15616#true} #100#return; {15616#true} is VALID [2022-04-15 15:05:49,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {15616#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:05:49,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:05:49,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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 15:05:49,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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 15:05:49,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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); {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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 15:05:49,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:49,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:49,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~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; {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:49,557 INFO L290 TraceCheckUtils]: 35: Hoare triple {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:49,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,558 INFO L290 TraceCheckUtils]: 37: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,558 INFO L272 TraceCheckUtils]: 38: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,559 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15616#true} {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,559 INFO L272 TraceCheckUtils]: 43: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {15616#true} ~cond := #in~cond; {15758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:49,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {15758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:49,560 INFO L290 TraceCheckUtils]: 46: Hoare triple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:49,561 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,561 INFO L272 TraceCheckUtils]: 48: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,561 INFO L290 TraceCheckUtils]: 49: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,561 INFO L290 TraceCheckUtils]: 50: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,562 INFO L290 TraceCheckUtils]: 51: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,562 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15616#true} {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,563 INFO L272 TraceCheckUtils]: 53: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,563 INFO L290 TraceCheckUtils]: 54: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,563 INFO L290 TraceCheckUtils]: 55: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,564 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15616#true} {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,564 INFO L290 TraceCheckUtils]: 58: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:49,565 INFO L290 TraceCheckUtils]: 59: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:49,566 INFO L290 TraceCheckUtils]: 60: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:49,566 INFO L290 TraceCheckUtils]: 61: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:49,568 INFO L290 TraceCheckUtils]: 62: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:05:49,569 INFO L290 TraceCheckUtils]: 63: Hoare triple {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} assume !false; {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:05:49,569 INFO L290 TraceCheckUtils]: 64: Hoare triple {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 15:05:49,570 INFO L290 TraceCheckUtils]: 65: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !false; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 15:05:49,570 INFO L290 TraceCheckUtils]: 66: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 15:05:49,571 INFO L290 TraceCheckUtils]: 67: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !false; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 15:05:49,571 INFO L272 TraceCheckUtils]: 68: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:05:49,571 INFO L290 TraceCheckUtils]: 69: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:05:49,571 INFO L290 TraceCheckUtils]: 70: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:05:49,571 INFO L290 TraceCheckUtils]: 71: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:05:49,572 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15616#true} {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} #102#return; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 15:05:49,573 INFO L272 TraceCheckUtils]: 73: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:49,573 INFO L290 TraceCheckUtils]: 74: Hoare triple {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15855#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:49,574 INFO L290 TraceCheckUtils]: 75: Hoare triple {15855#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15617#false} is VALID [2022-04-15 15:05:49,574 INFO L290 TraceCheckUtils]: 76: Hoare triple {15617#false} assume !false; {15617#false} is VALID [2022-04-15 15:05:49,574 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 12 proven. 32 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 15:05:49,574 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:06:16,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {15617#false} assume !false; {15617#false} is VALID [2022-04-15 15:06:16,414 INFO L290 TraceCheckUtils]: 75: Hoare triple {15855#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15617#false} is VALID [2022-04-15 15:06:16,414 INFO L290 TraceCheckUtils]: 74: Hoare triple {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15855#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:16,415 INFO L272 TraceCheckUtils]: 73: Hoare triple {15871#(= 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)); {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:06:16,415 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15616#true} {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:16,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:16,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:16,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:16,415 INFO L272 TraceCheckUtils]: 68: Hoare triple {15871#(= 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)); {15616#true} is VALID [2022-04-15 15:06:16,416 INFO L290 TraceCheckUtils]: 67: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:16,416 INFO L290 TraceCheckUtils]: 66: Hoare triple {15871#(= 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; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:16,416 INFO L290 TraceCheckUtils]: 65: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:16,417 INFO L290 TraceCheckUtils]: 64: Hoare triple {15871#(= 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; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:16,417 INFO L290 TraceCheckUtils]: 63: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:06:18,419 WARN L290 TraceCheckUtils]: 62: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 15:06:18,419 INFO L290 TraceCheckUtils]: 61: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:06:18,420 INFO L290 TraceCheckUtils]: 60: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,245 INFO L290 TraceCheckUtils]: 59: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,247 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15616#true} {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,247 INFO L290 TraceCheckUtils]: 56: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,247 INFO L290 TraceCheckUtils]: 55: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,247 INFO L290 TraceCheckUtils]: 54: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,247 INFO L272 TraceCheckUtils]: 53: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,248 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15616#true} {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,248 INFO L290 TraceCheckUtils]: 51: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,248 INFO L290 TraceCheckUtils]: 50: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,248 INFO L290 TraceCheckUtils]: 49: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,248 INFO L272 TraceCheckUtils]: 48: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,249 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:06:19,249 INFO L290 TraceCheckUtils]: 46: Hoare triple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:19,250 INFO L290 TraceCheckUtils]: 45: Hoare triple {15962#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:19,250 INFO L290 TraceCheckUtils]: 44: Hoare triple {15616#true} ~cond := #in~cond; {15962#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:06:19,250 INFO L272 TraceCheckUtils]: 43: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,251 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15616#true} {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:06:19,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,251 INFO L272 TraceCheckUtils]: 38: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,252 INFO L290 TraceCheckUtils]: 37: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:06:19,252 INFO L290 TraceCheckUtils]: 36: Hoare triple {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:06:19,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:19,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* 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; {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:19,254 INFO L290 TraceCheckUtils]: 33: Hoare triple {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:19,885 INFO L290 TraceCheckUtils]: 32: Hoare triple {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) 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; {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:19,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:19,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:19,887 INFO L290 TraceCheckUtils]: 29: Hoare triple {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16001#(or (not (= (+ (* (+ (* (* 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_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:19,887 INFO L290 TraceCheckUtils]: 28: Hoare triple {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} assume !false; {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {15616#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} is VALID [2022-04-15 15:06:19,888 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15616#true} {15616#true} #100#return; {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 24: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 23: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L272 TraceCheckUtils]: 22: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15616#true} {15616#true} #98#return; {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,888 INFO L290 TraceCheckUtils]: 19: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L272 TraceCheckUtils]: 17: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15616#true} {15616#true} #96#return; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {15616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15616#true} {15616#true} #94#return; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-15 15:06:19,889 INFO L290 TraceCheckUtils]: 5: Hoare triple {15616#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; {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {15616#true} call #t~ret6 := main(); {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15616#true} {15616#true} #112#return; {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {15616#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); {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {15616#true} call ULTIMATE.init(); {15616#true} is VALID [2022-04-15 15:06:19,890 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 18 proven. 26 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 15:06:19,890 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:06:19,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [298584031] [2022-04-15 15:06:19,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:06:19,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938537897] [2022-04-15 15:06:19,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938537897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:06:19,891 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:06:19,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 24 [2022-04-15 15:06:19,891 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:06:19,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [147271084] [2022-04-15 15:06:19,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [147271084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:06:19,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:06:19,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:06:19,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1015441099] [2022-04-15 15:06:19,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:06:19,893 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-15 15:06:19,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:06:19,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:06:19,946 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 15:06:19,947 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:06:19,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:06:19,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:06:19,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=465, Unknown=0, NotChecked=0, Total=552 [2022-04-15 15:06:19,948 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:06:22,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:22,788 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-15 15:06:22,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 15:06:22,789 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-15 15:06:22,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:06:22,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:06:22,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 15:06:22,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:06:22,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 15:06:22,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-15 15:06:22,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:06:22,972 INFO L225 Difference]: With dead ends: 285 [2022-04-15 15:06:22,972 INFO L226 Difference]: Without dead ends: 283 [2022-04-15 15:06:22,973 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 130 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=150, Invalid=780, Unknown=0, NotChecked=0, Total=930 [2022-04-15 15:06:22,973 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 60 mSDsluCounter, 304 mSDsCounter, 0 mSdLazyCounter, 747 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 354 SdHoareTripleChecker+Invalid, 796 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 747 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:06:22,974 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 354 Invalid, 796 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 747 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 15:06:22,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-15 15:06:23,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 265. [2022-04-15 15:06:23,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:06:23,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-15 15:06:23,801 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-15 15:06:23,801 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-15 15:06:23,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:23,809 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 15:06:23,809 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 15:06:23,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:06:23,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:06:23,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-15 15:06:23,811 INFO L87 Difference]: Start difference. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-15 15:06:23,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:23,819 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 15:06:23,819 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 15:06:23,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:06:23,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:06:23,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:06:23,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:06:23,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-15 15:06:23,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 357 transitions. [2022-04-15 15:06:23,828 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 357 transitions. Word has length 77 [2022-04-15 15:06:23,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:06:23,829 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 357 transitions. [2022-04-15 15:06:23,829 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:06:23,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 357 transitions. [2022-04-15 15:06:24,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 357 edges. 357 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:06:24,492 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 357 transitions. [2022-04-15 15:06:24,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:06:24,493 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:06:24,493 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 15:06:24,516 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 15:06:24,707 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 15:06:24,707 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:06:24,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:06:24,708 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 15:06:24,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:06:24,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [507556394] [2022-04-15 15:06:24,708 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:06:24,708 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 15:06:24,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:06:24,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971065725] [2022-04-15 15:06:24,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:06:24,709 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:06:24,720 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:06:24,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [869514407] [2022-04-15 15:06:24,720 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:06:24,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:06:24,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:06:24,721 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 15:06:24,722 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 15:06:24,770 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:06:24,771 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:06:24,772 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-15 15:06:24,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:06:24,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:06:25,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {17781#true} call ULTIMATE.init(); {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {17781#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); {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17781#true} {17781#true} #112#return; {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {17781#true} call #t~ret6 := main(); {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {17781#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; {17781#true} is VALID [2022-04-15 15:06:25,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17781#true} {17781#true} #94#return; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 11: Hoare triple {17781#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L272 TraceCheckUtils]: 12: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17781#true} {17781#true} #96#return; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L272 TraceCheckUtils]: 17: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 18: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17781#true} {17781#true} #98#return; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L272 TraceCheckUtils]: 22: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 24: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,633 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17781#true} {17781#true} #100#return; {17781#true} is VALID [2022-04-15 15:06:25,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {17781#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17867#(and (= main_~r~0 0) (= 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 15:06:25,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {17867#(and (= main_~r~0 0) (= 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; {17867#(and (= main_~r~0 0) (= 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 15:06:25,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {17867#(and (= main_~r~0 0) (= 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; {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17881#(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 15:06:25,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17881#(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 15:06:25,637 INFO L272 TraceCheckUtils]: 33: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,637 INFO L290 TraceCheckUtils]: 36: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,638 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17781#true} {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17881#(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 15:06:25,638 INFO L272 TraceCheckUtils]: 38: Hoare triple {17881#(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)); {17781#true} is VALID [2022-04-15 15:06:25,638 INFO L290 TraceCheckUtils]: 39: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,638 INFO L290 TraceCheckUtils]: 41: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,639 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17781#true} {17881#(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; {17881#(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 15:06:25,639 INFO L272 TraceCheckUtils]: 43: Hoare triple {17881#(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)); {17781#true} is VALID [2022-04-15 15:06:25,639 INFO L290 TraceCheckUtils]: 44: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,639 INFO L290 TraceCheckUtils]: 45: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,639 INFO L290 TraceCheckUtils]: 46: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,640 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17781#true} {17881#(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; {17881#(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 15:06:25,641 INFO L272 TraceCheckUtils]: 48: Hoare triple {17881#(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)); {17781#true} is VALID [2022-04-15 15:06:25,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {17781#true} ~cond := #in~cond; {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:25,641 INFO L290 TraceCheckUtils]: 50: Hoare triple {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:25,642 INFO L290 TraceCheckUtils]: 51: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:25,642 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {17881#(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; {17881#(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 15:06:25,643 INFO L290 TraceCheckUtils]: 53: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,644 INFO L290 TraceCheckUtils]: 54: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,644 INFO L272 TraceCheckUtils]: 55: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,644 INFO L290 TraceCheckUtils]: 56: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,644 INFO L290 TraceCheckUtils]: 57: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,644 INFO L290 TraceCheckUtils]: 58: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,645 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,645 INFO L272 TraceCheckUtils]: 60: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,645 INFO L290 TraceCheckUtils]: 61: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,645 INFO L290 TraceCheckUtils]: 62: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,645 INFO L290 TraceCheckUtils]: 63: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,646 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,646 INFO L272 TraceCheckUtils]: 65: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,646 INFO L290 TraceCheckUtils]: 66: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:25,647 INFO L290 TraceCheckUtils]: 67: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:25,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:25,648 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,648 INFO L272 TraceCheckUtils]: 70: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:25,648 INFO L290 TraceCheckUtils]: 71: Hoare triple {17781#true} ~cond := #in~cond; {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:25,648 INFO L290 TraceCheckUtils]: 72: Hoare triple {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:25,649 INFO L290 TraceCheckUtils]: 73: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:25,650 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,650 INFO L290 TraceCheckUtils]: 75: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,651 INFO L290 TraceCheckUtils]: 76: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,652 INFO L290 TraceCheckUtils]: 77: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !false; {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,652 INFO L290 TraceCheckUtils]: 78: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:06:25,653 INFO L290 TraceCheckUtils]: 79: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 15:06:25,653 INFO L290 TraceCheckUtils]: 80: Hoare triple {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 15:06:25,654 INFO L290 TraceCheckUtils]: 81: Hoare triple {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(0 != ~b~0); {18037#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 15:06:25,655 INFO L272 TraceCheckUtils]: 82: Hoare triple {18037#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ 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)); {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:06:25,655 INFO L290 TraceCheckUtils]: 83: Hoare triple {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:25,656 INFO L290 TraceCheckUtils]: 84: Hoare triple {18045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17782#false} is VALID [2022-04-15 15:06:25,656 INFO L290 TraceCheckUtils]: 85: Hoare triple {17782#false} assume !false; {17782#false} is VALID [2022-04-15 15:06:25,656 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 41 proven. 21 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 15:06:25,656 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:06:49,528 INFO L290 TraceCheckUtils]: 85: Hoare triple {17782#false} assume !false; {17782#false} is VALID [2022-04-15 15:06:49,529 INFO L290 TraceCheckUtils]: 84: Hoare triple {18045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17782#false} is VALID [2022-04-15 15:06:49,529 INFO L290 TraceCheckUtils]: 83: Hoare triple {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:49,530 INFO L272 TraceCheckUtils]: 82: Hoare triple {18061#(= (+ (* 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)); {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:06:49,530 INFO L290 TraceCheckUtils]: 81: Hoare triple {18065#(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); {18061#(= (+ (* 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 15:06:49,530 INFO L290 TraceCheckUtils]: 80: Hoare triple {18065#(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; {18065#(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 15:06:49,658 INFO L290 TraceCheckUtils]: 79: Hoare triple {18072#(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; {18065#(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 15:06:49,658 INFO L290 TraceCheckUtils]: 78: Hoare triple {18072#(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); {18072#(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 15:06:49,659 INFO L290 TraceCheckUtils]: 77: Hoare triple {18072#(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; {18072#(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 15:06:49,713 INFO L290 TraceCheckUtils]: 76: Hoare triple {18082#(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; {18072#(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 15:06:49,713 INFO L290 TraceCheckUtils]: 75: Hoare triple {18082#(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); {18082#(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 15:06:49,714 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {18082#(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 15:06:49,715 INFO L290 TraceCheckUtils]: 73: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:49,715 INFO L290 TraceCheckUtils]: 72: Hoare triple {18099#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:49,716 INFO L290 TraceCheckUtils]: 71: Hoare triple {17781#true} ~cond := #in~cond; {18099#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:06:49,716 INFO L272 TraceCheckUtils]: 70: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,717 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,717 INFO L290 TraceCheckUtils]: 68: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,717 INFO L290 TraceCheckUtils]: 67: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,717 INFO L290 TraceCheckUtils]: 66: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,717 INFO L272 TraceCheckUtils]: 65: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,718 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,718 INFO L290 TraceCheckUtils]: 63: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,718 INFO L290 TraceCheckUtils]: 62: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,718 INFO L290 TraceCheckUtils]: 61: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,718 INFO L272 TraceCheckUtils]: 60: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,719 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,719 INFO L290 TraceCheckUtils]: 58: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,719 INFO L290 TraceCheckUtils]: 57: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,719 INFO L290 TraceCheckUtils]: 56: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,719 INFO L272 TraceCheckUtils]: 55: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,720 INFO L290 TraceCheckUtils]: 54: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,744 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #108#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,745 INFO L290 TraceCheckUtils]: 50: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,745 INFO L290 TraceCheckUtils]: 49: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,745 INFO L272 TraceCheckUtils]: 48: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,746 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #106#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,746 INFO L290 TraceCheckUtils]: 46: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,746 INFO L290 TraceCheckUtils]: 45: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,746 INFO L290 TraceCheckUtils]: 44: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,746 INFO L272 TraceCheckUtils]: 43: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,757 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #104#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,757 INFO L290 TraceCheckUtils]: 41: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,757 INFO L290 TraceCheckUtils]: 40: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,757 INFO L290 TraceCheckUtils]: 39: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,757 INFO L272 TraceCheckUtils]: 38: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,758 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #102#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,758 INFO L290 TraceCheckUtils]: 36: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,758 INFO L272 TraceCheckUtils]: 33: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,759 INFO L290 TraceCheckUtils]: 32: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:06:49,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:06:49,762 INFO L290 TraceCheckUtils]: 29: Hoare triple {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:06:49,762 INFO L290 TraceCheckUtils]: 28: Hoare triple {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,763 INFO L290 TraceCheckUtils]: 27: Hoare triple {17781#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:06:49,763 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17781#true} {17781#true} #100#return; {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L290 TraceCheckUtils]: 23: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L272 TraceCheckUtils]: 22: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17781#true} {17781#true} #98#return; {17781#true} is VALID [2022-04-15 15:06:49,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L272 TraceCheckUtils]: 17: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17781#true} {17781#true} #96#return; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {17781#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17781#true} is VALID [2022-04-15 15:06:49,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17781#true} {17781#true} #94#return; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {17781#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; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {17781#true} call #t~ret6 := main(); {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17781#true} {17781#true} #112#return; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {17781#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); {17781#true} is VALID [2022-04-15 15:06:49,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {17781#true} call ULTIMATE.init(); {17781#true} is VALID [2022-04-15 15:06:49,766 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 36 proven. 11 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-15 15:06:49,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:06:49,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971065725] [2022-04-15 15:06:49,766 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:06:49,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [869514407] [2022-04-15 15:06:49,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [869514407] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:06:49,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:06:49,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-15 15:06:49,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:06:49,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [507556394] [2022-04-15 15:06:49,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [507556394] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:06:49,767 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:06:49,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:06:49,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [98249761] [2022-04-15 15:06:49,767 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:06:49,768 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 15:06:49,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:06:49,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:06:49,835 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 15:06:49,835 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:06:49,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:06:49,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:06:49,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-15 15:06:49,836 INFO L87 Difference]: Start difference. First operand 265 states and 357 transitions. Second operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:06:53,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:53,267 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-15 15:06:53,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:06:53,268 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 15:06:53,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:06:53,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:06:53,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 15:06:53,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:06:53,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 15:06:53,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-15 15:06:53,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:06:53,469 INFO L225 Difference]: With dead ends: 348 [2022-04-15 15:06:53,469 INFO L226 Difference]: Without dead ends: 345 [2022-04-15 15:06:53,470 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 148 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 121 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:06:53,470 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 55 mSDsluCounter, 276 mSDsCounter, 0 mSdLazyCounter, 731 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 328 SdHoareTripleChecker+Invalid, 790 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 731 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:06:53,470 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 328 Invalid, 790 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 731 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 15:06:53,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 345 states. [2022-04-15 15:06:54,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 345 to 330. [2022-04-15 15:06:54,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:06:54,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-15 15:06:54,323 INFO L74 IsIncluded]: Start isIncluded. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-15 15:06:54,324 INFO L87 Difference]: Start difference. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-15 15:06:54,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:54,334 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-15 15:06:54,334 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-15 15:06:54,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:06:54,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:06:54,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-15 15:06:54,337 INFO L87 Difference]: Start difference. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-15 15:06:54,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:06:54,347 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-15 15:06:54,348 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-15 15:06:54,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:06:54,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:06:54,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:06:54,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:06:54,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-15 15:06:54,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 330 states to 330 states and 456 transitions. [2022-04-15 15:06:54,361 INFO L78 Accepts]: Start accepts. Automaton has 330 states and 456 transitions. Word has length 86 [2022-04-15 15:06:54,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:06:54,361 INFO L478 AbstractCegarLoop]: Abstraction has 330 states and 456 transitions. [2022-04-15 15:06:54,361 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:06:54,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 330 states and 456 transitions. [2022-04-15 15:06:55,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 456 edges. 456 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:06:55,403 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 456 transitions. [2022-04-15 15:06:55,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-15 15:06:55,404 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:06:55,404 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 15:06:55,429 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 15:06:55,604 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 15:06:55,605 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:06:55,605 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:06:55,605 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-15 15:06:55,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:06:55,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [567674727] [2022-04-15 15:06:55,606 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:06:55,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-15 15:06:55,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:06:55,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1265873623] [2022-04-15 15:06:55,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:06:55,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:06:55,617 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:06:55,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1564564738] [2022-04-15 15:06:55,617 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:06:55,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:06:55,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:06:55,618 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 15:06:55,623 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 15:06:55,677 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:06:55,677 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:06:55,679 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 86 conjunts are in the unsatisfiable core [2022-04-15 15:06:55,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:06:55,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:06:57,353 INFO L272 TraceCheckUtils]: 0: Hoare triple {20378#true} call ULTIMATE.init(); {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {20378#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); {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20378#true} {20378#true} #112#return; {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {20378#true} call #t~ret6 := main(); {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {20378#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; {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L272 TraceCheckUtils]: 6: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,353 INFO L290 TraceCheckUtils]: 7: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20378#true} {20378#true} #94#return; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 11: Hoare triple {20378#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L272 TraceCheckUtils]: 12: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,354 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20378#true} {20378#true} #96#return; {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L272 TraceCheckUtils]: 17: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20378#true} {20378#true} #98#return; {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L272 TraceCheckUtils]: 22: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,356 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20378#true} {20378#true} #100#return; {20378#true} is VALID [2022-04-15 15:06:57,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {20378#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:06:57,356 INFO L290 TraceCheckUtils]: 28: Hoare triple {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:06:57,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= 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; {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:06:57,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:06:57,358 INFO L290 TraceCheckUtils]: 31: Hoare triple {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {20478#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:06:57,359 INFO L290 TraceCheckUtils]: 32: Hoare triple {20478#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= 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; {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:06:57,360 INFO L290 TraceCheckUtils]: 33: Hoare triple {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:06:57,360 INFO L290 TraceCheckUtils]: 34: Hoare triple {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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; {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:06:57,361 INFO L290 TraceCheckUtils]: 35: Hoare triple {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:06:57,361 INFO L290 TraceCheckUtils]: 36: Hoare triple {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,361 INFO L290 TraceCheckUtils]: 37: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,362 INFO L272 TraceCheckUtils]: 38: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,362 INFO L290 TraceCheckUtils]: 39: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,362 INFO L290 TraceCheckUtils]: 40: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,362 INFO L290 TraceCheckUtils]: 41: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,363 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,363 INFO L272 TraceCheckUtils]: 43: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,363 INFO L290 TraceCheckUtils]: 44: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,363 INFO L290 TraceCheckUtils]: 45: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,363 INFO L290 TraceCheckUtils]: 46: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,364 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,364 INFO L272 TraceCheckUtils]: 48: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,364 INFO L290 TraceCheckUtils]: 49: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,364 INFO L290 TraceCheckUtils]: 51: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,365 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,365 INFO L272 TraceCheckUtils]: 53: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,365 INFO L290 TraceCheckUtils]: 54: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:57,365 INFO L290 TraceCheckUtils]: 55: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,366 INFO L290 TraceCheckUtils]: 56: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,366 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:06:57,367 INFO L290 TraceCheckUtils]: 58: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 15:06:57,367 INFO L290 TraceCheckUtils]: 59: Hoare triple {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !false; {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 15:06:57,367 INFO L272 TraceCheckUtils]: 60: Hoare triple {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,368 INFO L290 TraceCheckUtils]: 61: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:57,368 INFO L290 TraceCheckUtils]: 62: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,368 INFO L290 TraceCheckUtils]: 63: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,369 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #102#return; {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,369 INFO L272 TraceCheckUtils]: 65: Hoare triple {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,370 INFO L290 TraceCheckUtils]: 66: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:57,370 INFO L290 TraceCheckUtils]: 67: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,370 INFO L290 TraceCheckUtils]: 68: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,371 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,371 INFO L272 TraceCheckUtils]: 70: Hoare triple {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,371 INFO L290 TraceCheckUtils]: 71: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:06:57,372 INFO L290 TraceCheckUtils]: 72: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:06:57,372 INFO L290 TraceCheckUtils]: 73: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:06:57,372 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20378#true} {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,372 INFO L272 TraceCheckUtils]: 75: Hoare triple {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:06:57,373 INFO L290 TraceCheckUtils]: 76: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:57,373 INFO L290 TraceCheckUtils]: 77: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,373 INFO L290 TraceCheckUtils]: 78: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:06:57,374 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,375 INFO L290 TraceCheckUtils]: 80: Hoare triple {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,376 INFO L290 TraceCheckUtils]: 81: Hoare triple {20600#(and (< 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_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,376 INFO L290 TraceCheckUtils]: 82: Hoare triple {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,377 INFO L290 TraceCheckUtils]: 83: Hoare triple {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {20644#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:06:57,378 INFO L290 TraceCheckUtils]: 84: Hoare triple {20644#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:06:57,378 INFO L290 TraceCheckUtils]: 85: Hoare triple {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:06:57,379 INFO L290 TraceCheckUtils]: 86: Hoare triple {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !(0 != ~b~0); {20655#(and (= main_~r~0 0) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (* main_~a~0 2) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:06:57,381 INFO L272 TraceCheckUtils]: 87: Hoare triple {20655#(and (= main_~r~0 0) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (* main_~a~0 2) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:06:57,381 INFO L290 TraceCheckUtils]: 88: Hoare triple {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:06:57,381 INFO L290 TraceCheckUtils]: 89: Hoare triple {20663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20379#false} is VALID [2022-04-15 15:06:57,382 INFO L290 TraceCheckUtils]: 90: Hoare triple {20379#false} assume !false; {20379#false} is VALID [2022-04-15 15:06:57,382 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 51 proven. 32 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-15 15:06:57,382 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:08:12,114 INFO L290 TraceCheckUtils]: 90: Hoare triple {20379#false} assume !false; {20379#false} is VALID [2022-04-15 15:08:12,115 INFO L290 TraceCheckUtils]: 89: Hoare triple {20663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20379#false} is VALID [2022-04-15 15:08:12,115 INFO L290 TraceCheckUtils]: 88: Hoare triple {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:12,116 INFO L272 TraceCheckUtils]: 87: Hoare triple {20679#(= (+ (* 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)); {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:08:12,117 INFO L290 TraceCheckUtils]: 86: Hoare triple {20683#(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); {20679#(= (+ (* 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 15:08:12,117 INFO L290 TraceCheckUtils]: 85: Hoare triple {20683#(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; {20683#(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 15:08:12,230 INFO L290 TraceCheckUtils]: 84: Hoare triple {20690#(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; {20683#(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 15:08:12,231 INFO L290 TraceCheckUtils]: 83: Hoare triple {20694#(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); {20690#(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 15:08:12,231 INFO L290 TraceCheckUtils]: 82: Hoare triple {20694#(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; {20694#(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 15:08:12,271 INFO L290 TraceCheckUtils]: 81: Hoare triple {20701#(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; {20694#(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 15:08:12,272 INFO L290 TraceCheckUtils]: 80: Hoare triple {20701#(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); {20701#(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 15:08:12,273 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20708#(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; {20701#(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 15:08:12,274 INFO L290 TraceCheckUtils]: 78: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,274 INFO L290 TraceCheckUtils]: 77: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,275 INFO L290 TraceCheckUtils]: 76: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:08:12,275 INFO L272 TraceCheckUtils]: 75: Hoare triple {20708#(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)); {20378#true} is VALID [2022-04-15 15:08:12,276 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20378#true} {20708#(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))))} #106#return; {20708#(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 15:08:12,276 INFO L290 TraceCheckUtils]: 73: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,276 INFO L290 TraceCheckUtils]: 72: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,276 INFO L290 TraceCheckUtils]: 71: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,276 INFO L272 TraceCheckUtils]: 70: Hoare triple {20708#(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 ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,277 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20740#(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_~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; {20708#(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 15:08:12,278 INFO L290 TraceCheckUtils]: 68: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,278 INFO L290 TraceCheckUtils]: 67: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,279 INFO L290 TraceCheckUtils]: 66: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:08:12,279 INFO L272 TraceCheckUtils]: 65: Hoare triple {20740#(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_~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)); {20378#true} is VALID [2022-04-15 15:08:12,280 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20756#(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 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {20740#(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_~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 15:08:12,280 INFO L290 TraceCheckUtils]: 63: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,281 INFO L290 TraceCheckUtils]: 62: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:12,281 INFO L290 TraceCheckUtils]: 61: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:08:12,281 INFO L272 TraceCheckUtils]: 60: Hoare triple {20756#(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 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,282 INFO L290 TraceCheckUtils]: 59: Hoare triple {20756#(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 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {20756#(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 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 15:08:12,342 INFO L290 TraceCheckUtils]: 58: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20756#(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 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 15:08:12,343 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #108#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,344 INFO L290 TraceCheckUtils]: 56: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,344 INFO L290 TraceCheckUtils]: 55: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,344 INFO L290 TraceCheckUtils]: 54: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,344 INFO L272 TraceCheckUtils]: 53: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,345 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #106#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,345 INFO L290 TraceCheckUtils]: 51: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,345 INFO L290 TraceCheckUtils]: 50: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,345 INFO L290 TraceCheckUtils]: 49: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,345 INFO L272 TraceCheckUtils]: 48: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,346 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #104#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,346 INFO L290 TraceCheckUtils]: 46: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,346 INFO L290 TraceCheckUtils]: 45: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,346 INFO L290 TraceCheckUtils]: 44: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,346 INFO L272 TraceCheckUtils]: 43: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,347 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #102#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,347 INFO L290 TraceCheckUtils]: 41: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,347 INFO L290 TraceCheckUtils]: 40: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,347 INFO L290 TraceCheckUtils]: 39: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,347 INFO L272 TraceCheckUtils]: 38: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,348 INFO L290 TraceCheckUtils]: 37: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} assume !false; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-15 15:08:12,349 INFO L290 TraceCheckUtils]: 35: Hoare triple {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 34: Hoare triple {20378#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {20378#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; {20378#true} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {20378#true} assume !(~c~0 >= ~b~0); {20378#true} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {20378#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20378#true} is VALID [2022-04-15 15:08:12,350 INFO L290 TraceCheckUtils]: 28: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 27: Hoare triple {20378#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20378#true} {20378#true} #100#return; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 23: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L272 TraceCheckUtils]: 22: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20378#true} {20378#true} #98#return; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 20: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 19: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 18: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L272 TraceCheckUtils]: 17: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20378#true} {20378#true} #96#return; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L272 TraceCheckUtils]: 12: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {20378#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20378#true} {20378#true} #94#return; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L272 TraceCheckUtils]: 6: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {20378#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; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {20378#true} call #t~ret6 := main(); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20378#true} {20378#true} #112#return; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {20378#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); {20378#true} is VALID [2022-04-15 15:08:12,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {20378#true} call ULTIMATE.init(); {20378#true} is VALID [2022-04-15 15:08:12,353 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 61 proven. 17 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-15 15:08:12,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:08:12,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1265873623] [2022-04-15 15:08:12,353 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:08:12,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1564564738] [2022-04-15 15:08:12,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1564564738] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:08:12,353 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:08:12,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 16] total 30 [2022-04-15 15:08:12,354 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:08:12,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [567674727] [2022-04-15 15:08:12,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [567674727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:08:12,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:08:12,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 15:08:12,354 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702004464] [2022-04-15 15:08:12,354 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:08:12,355 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-15 15:08:12,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:08:12,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:08:12,420 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 15:08:12,420 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 15:08:12,420 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:08:12,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 15:08:12,421 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=728, Unknown=0, NotChecked=0, Total=870 [2022-04-15 15:08:12,421 INFO L87 Difference]: Start difference. First operand 330 states and 456 transitions. Second operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:08:18,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:08:18,645 INFO L93 Difference]: Finished difference Result 422 states and 582 transitions. [2022-04-15 15:08:18,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 15:08:18,645 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-15 15:08:18,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:08:18,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:08:18,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 175 transitions. [2022-04-15 15:08:18,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:08:18,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 175 transitions. [2022-04-15 15:08:18,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 175 transitions. [2022-04-15 15:08:18,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:08:18,863 INFO L225 Difference]: With dead ends: 422 [2022-04-15 15:08:18,864 INFO L226 Difference]: Without dead ends: 419 [2022-04-15 15:08:18,864 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 150 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 307 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=230, Invalid=1176, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 15:08:18,865 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 65 mSDsluCounter, 418 mSDsCounter, 0 mSdLazyCounter, 1295 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 477 SdHoareTripleChecker+Invalid, 1343 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 1295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:08:18,865 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 477 Invalid, 1343 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 1295 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-15 15:08:18,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 419 states. [2022-04-15 15:08:20,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 419 to 399. [2022-04-15 15:08:20,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:08:20,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:08:20,052 INFO L74 IsIncluded]: Start isIncluded. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:08:20,053 INFO L87 Difference]: Start difference. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:08:20,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:08:20,066 INFO L93 Difference]: Finished difference Result 419 states and 578 transitions. [2022-04-15 15:08:20,066 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 578 transitions. [2022-04-15 15:08:20,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:08:20,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:08:20,070 INFO L74 IsIncluded]: Start isIncluded. First operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 419 states. [2022-04-15 15:08:20,070 INFO L87 Difference]: Start difference. First operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 419 states. [2022-04-15 15:08:20,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:08:20,084 INFO L93 Difference]: Finished difference Result 419 states and 578 transitions. [2022-04-15 15:08:20,084 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 578 transitions. [2022-04-15 15:08:20,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:08:20,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:08:20,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:08:20,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:08:20,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:08:20,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 399 states to 399 states and 558 transitions. [2022-04-15 15:08:20,101 INFO L78 Accepts]: Start accepts. Automaton has 399 states and 558 transitions. Word has length 91 [2022-04-15 15:08:20,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:08:20,102 INFO L478 AbstractCegarLoop]: Abstraction has 399 states and 558 transitions. [2022-04-15 15:08:20,102 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:08:20,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 399 states and 558 transitions. [2022-04-15 15:08:21,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 558 edges. 558 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:08:21,375 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 558 transitions. [2022-04-15 15:08:21,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 15:08:21,377 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:08:21,377 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:08:21,399 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-15 15:08:21,591 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 15:08:21,591 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:08:21,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:08:21,592 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-15 15:08:21,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:08:21,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1247319174] [2022-04-15 15:08:21,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:08:21,592 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-15 15:08:21,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:08:21,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1749448377] [2022-04-15 15:08:21,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:08:21,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:08:21,611 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:08:21,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1678484517] [2022-04-15 15:08:21,612 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:08:21,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:08:21,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:08:21,613 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:08:21,616 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 15:08:21,669 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:08:21,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:08:21,671 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 96 conjunts are in the unsatisfiable core [2022-04-15 15:08:21,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:08:21,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:08:37,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {23449#true} call ULTIMATE.init(); {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {23449#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); {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23449#true} {23449#true} #112#return; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {23449#true} call #t~ret6 := main(); {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {23449#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; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L272 TraceCheckUtils]: 6: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23449#true} {23449#true} #94#return; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {23449#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23449#true} is VALID [2022-04-15 15:08:37,467 INFO L272 TraceCheckUtils]: 12: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23449#true} {23449#true} #96#return; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L272 TraceCheckUtils]: 17: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 20: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23449#true} {23449#true} #98#return; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L272 TraceCheckUtils]: 22: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 23: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,468 INFO L290 TraceCheckUtils]: 24: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,469 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23449#true} {23449#true} #100#return; {23449#true} is VALID [2022-04-15 15:08:37,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {23449#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23535#(and (= main_~r~0 0) (= 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 15:08:37,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {23535#(and (= main_~r~0 0) (= 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; {23535#(and (= main_~r~0 0) (= 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 15:08:37,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {23535#(and (= main_~r~0 0) (= 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; {23542#(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 15:08:37,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {23542#(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; {23542#(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 15:08:37,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {23542#(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; {23549#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {23549#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {23549#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,474 INFO L272 TraceCheckUtils]: 33: Hoare triple {23549#(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_~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)); {23449#true} is VALID [2022-04-15 15:08:37,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,475 INFO L290 TraceCheckUtils]: 35: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,477 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23549#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,477 INFO L272 TraceCheckUtils]: 38: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,477 INFO L290 TraceCheckUtils]: 39: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,477 INFO L290 TraceCheckUtils]: 40: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,478 INFO L290 TraceCheckUtils]: 41: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,479 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,479 INFO L272 TraceCheckUtils]: 43: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,479 INFO L290 TraceCheckUtils]: 44: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,479 INFO L290 TraceCheckUtils]: 45: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,479 INFO L290 TraceCheckUtils]: 46: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,480 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23449#true} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,480 INFO L272 TraceCheckUtils]: 48: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,480 INFO L290 TraceCheckUtils]: 49: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,481 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23449#true} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,482 INFO L290 TraceCheckUtils]: 53: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,482 INFO L290 TraceCheckUtils]: 54: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,483 INFO L290 TraceCheckUtils]: 55: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,484 INFO L290 TraceCheckUtils]: 57: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= 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; {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,484 INFO L290 TraceCheckUtils]: 58: Hoare triple {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,485 INFO L290 TraceCheckUtils]: 59: Hoare triple {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,486 INFO L290 TraceCheckUtils]: 60: Hoare triple {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,486 INFO L290 TraceCheckUtils]: 61: Hoare triple {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,487 INFO L290 TraceCheckUtils]: 62: Hoare triple {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:08:37,487 INFO L272 TraceCheckUtils]: 63: Hoare triple {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,487 INFO L290 TraceCheckUtils]: 64: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,487 INFO L290 TraceCheckUtils]: 65: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,488 INFO L290 TraceCheckUtils]: 66: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,489 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} #102#return; {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,489 INFO L272 TraceCheckUtils]: 68: Hoare triple {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,489 INFO L290 TraceCheckUtils]: 69: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,490 INFO L290 TraceCheckUtils]: 70: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,490 INFO L290 TraceCheckUtils]: 71: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,491 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,492 INFO L272 TraceCheckUtils]: 73: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,492 INFO L290 TraceCheckUtils]: 74: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,492 INFO L290 TraceCheckUtils]: 75: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,492 INFO L290 TraceCheckUtils]: 76: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,493 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23449#true} {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,493 INFO L272 TraceCheckUtils]: 78: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,493 INFO L290 TraceCheckUtils]: 79: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:08:37,493 INFO L290 TraceCheckUtils]: 80: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:08:37,493 INFO L290 TraceCheckUtils]: 81: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:08:37,494 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23449#true} {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,495 INFO L290 TraceCheckUtils]: 83: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,496 INFO L290 TraceCheckUtils]: 84: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,496 INFO L290 TraceCheckUtils]: 85: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,497 INFO L290 TraceCheckUtils]: 86: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:08:37,499 INFO L290 TraceCheckUtils]: 87: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,500 INFO L290 TraceCheckUtils]: 88: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,500 INFO L290 TraceCheckUtils]: 89: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,501 INFO L290 TraceCheckUtils]: 90: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,501 INFO L290 TraceCheckUtils]: 91: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,502 INFO L290 TraceCheckUtils]: 92: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:08:37,502 INFO L272 TraceCheckUtils]: 93: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:08:37,502 INFO L290 TraceCheckUtils]: 94: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,503 INFO L290 TraceCheckUtils]: 95: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,503 INFO L290 TraceCheckUtils]: 96: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:08:37,505 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #102#return; {23759#(and (= (* (- 1) main_~q~0) 1) (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) (* main_~y~0 main_~s~0)) (= main_~x~0 (+ main_~y~0 (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 15:08:37,505 INFO L272 TraceCheckUtils]: 98: Hoare triple {23759#(and (= (* (- 1) main_~q~0) 1) (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) (* main_~y~0 main_~s~0)) (= main_~x~0 (+ main_~y~0 (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:08:37,506 INFO L290 TraceCheckUtils]: 99: Hoare triple {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23767#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:08:37,506 INFO L290 TraceCheckUtils]: 100: Hoare triple {23767#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23450#false} is VALID [2022-04-15 15:08:37,506 INFO L290 TraceCheckUtils]: 101: Hoare triple {23450#false} assume !false; {23450#false} is VALID [2022-04-15 15:08:37,506 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 37 proven. 81 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 15:08:37,506 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:09:40,322 INFO L290 TraceCheckUtils]: 101: Hoare triple {23450#false} assume !false; {23450#false} is VALID [2022-04-15 15:09:40,322 INFO L290 TraceCheckUtils]: 100: Hoare triple {23767#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23450#false} is VALID [2022-04-15 15:09:40,322 INFO L290 TraceCheckUtils]: 99: Hoare triple {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23767#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:40,323 INFO L272 TraceCheckUtils]: 98: Hoare triple {23783#(= 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)); {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:09:40,324 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {23783#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:09:40,324 INFO L290 TraceCheckUtils]: 96: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:40,325 INFO L290 TraceCheckUtils]: 95: Hoare triple {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:40,325 INFO L290 TraceCheckUtils]: 94: Hoare triple {23449#true} ~cond := #in~cond; {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:09:40,325 INFO L272 TraceCheckUtils]: 93: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,325 INFO L290 TraceCheckUtils]: 92: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,326 INFO L290 TraceCheckUtils]: 91: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,326 INFO L290 TraceCheckUtils]: 90: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,327 INFO L290 TraceCheckUtils]: 89: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,327 INFO L290 TraceCheckUtils]: 88: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,388 INFO L290 TraceCheckUtils]: 87: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 15:09:40,389 INFO L290 TraceCheckUtils]: 86: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,389 INFO L290 TraceCheckUtils]: 85: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,394 INFO L290 TraceCheckUtils]: 84: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,394 INFO L290 TraceCheckUtils]: 83: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,395 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,395 INFO L290 TraceCheckUtils]: 81: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,395 INFO L290 TraceCheckUtils]: 80: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,395 INFO L290 TraceCheckUtils]: 79: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,395 INFO L272 TraceCheckUtils]: 78: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,396 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,396 INFO L290 TraceCheckUtils]: 76: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,396 INFO L290 TraceCheckUtils]: 75: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,396 INFO L290 TraceCheckUtils]: 74: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,396 INFO L272 TraceCheckUtils]: 73: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,397 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,397 INFO L290 TraceCheckUtils]: 71: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,397 INFO L290 TraceCheckUtils]: 70: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,397 INFO L290 TraceCheckUtils]: 69: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,397 INFO L272 TraceCheckUtils]: 68: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,398 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,399 INFO L290 TraceCheckUtils]: 66: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:40,399 INFO L290 TraceCheckUtils]: 65: Hoare triple {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:40,399 INFO L290 TraceCheckUtils]: 64: Hoare triple {23449#true} ~cond := #in~cond; {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:09:40,399 INFO L272 TraceCheckUtils]: 63: Hoare triple {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,400 INFO L290 TraceCheckUtils]: 62: Hoare triple {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,401 INFO L290 TraceCheckUtils]: 61: Hoare triple {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,401 INFO L290 TraceCheckUtils]: 60: Hoare triple {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,402 INFO L290 TraceCheckUtils]: 59: Hoare triple {23449#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:09:40,402 INFO L290 TraceCheckUtils]: 58: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-15 15:09:40,402 INFO L290 TraceCheckUtils]: 57: Hoare triple {23449#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; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {23449#true} assume !(~c~0 >= ~b~0); {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 55: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 54: Hoare triple {23449#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 53: Hoare triple {23449#true} assume !(~c~0 >= 2 * ~v~0); {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23449#true} {23449#true} #108#return; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 51: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 50: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L272 TraceCheckUtils]: 48: Hoare triple {23449#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23449#true} {23449#true} #106#return; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 46: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 45: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,403 INFO L290 TraceCheckUtils]: 44: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L272 TraceCheckUtils]: 43: Hoare triple {23449#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23449#true} {23449#true} #104#return; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 41: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 40: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L272 TraceCheckUtils]: 38: Hoare triple {23449#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23449#true} {23449#true} #102#return; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L272 TraceCheckUtils]: 33: Hoare triple {23449#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,404 INFO L290 TraceCheckUtils]: 32: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 31: Hoare triple {23449#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 30: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {23449#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 28: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {23449#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23449#true} {23449#true} #100#return; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L272 TraceCheckUtils]: 22: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23449#true} {23449#true} #98#return; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L272 TraceCheckUtils]: 17: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23449#true} {23449#true} #96#return; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L272 TraceCheckUtils]: 12: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 11: Hoare triple {23449#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23449#true} {23449#true} #94#return; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 9: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 7: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L272 TraceCheckUtils]: 6: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {23449#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; {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {23449#true} call #t~ret6 := main(); {23449#true} is VALID [2022-04-15 15:09:40,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23449#true} {23449#true} #112#return; {23449#true} is VALID [2022-04-15 15:09:40,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-15 15:09:40,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {23449#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); {23449#true} is VALID [2022-04-15 15:09:40,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {23449#true} call ULTIMATE.init(); {23449#true} is VALID [2022-04-15 15:09:40,407 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 78 proven. 18 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-15 15:09:40,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:09:40,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1749448377] [2022-04-15 15:09:40,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:09:40,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1678484517] [2022-04-15 15:09:40,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1678484517] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:09:40,408 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:09:40,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-15 15:09:40,408 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:09:40,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1247319174] [2022-04-15 15:09:40,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1247319174] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:09:40,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:09:40,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 15:09:40,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089137957] [2022-04-15 15:09:40,408 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:09:40,408 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-15 15:09:40,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:09:40,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-15 15:09:40,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:40,485 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 15:09:40,485 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:09:40,485 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 15:09:40,485 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2022-04-15 15:09:40,486 INFO L87 Difference]: Start difference. First operand 399 states and 558 transitions. Second operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-15 15:09:45,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:45,630 INFO L93 Difference]: Finished difference Result 474 states and 649 transitions. [2022-04-15 15:09:45,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 15:09:45,630 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-15 15:09:45,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:09:45,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-15 15:09:45,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 15:09:45,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-15 15:09:45,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 15:09:45,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-15 15:09:45,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:45,835 INFO L225 Difference]: With dead ends: 474 [2022-04-15 15:09:45,835 INFO L226 Difference]: Without dead ends: 472 [2022-04-15 15:09:45,835 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 176 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 212 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=146, Invalid=784, Unknown=0, NotChecked=0, Total=930 [2022-04-15 15:09:45,836 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 63 mSDsluCounter, 423 mSDsCounter, 0 mSdLazyCounter, 1133 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 472 SdHoareTripleChecker+Invalid, 1169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1133 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:09:45,836 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 472 Invalid, 1169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1133 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-15 15:09:45,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 472 states. [2022-04-15 15:09:47,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 472 to 454. [2022-04-15 15:09:47,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:09:47,138 INFO L82 GeneralOperation]: Start isEquivalent. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-15 15:09:47,138 INFO L74 IsIncluded]: Start isIncluded. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-15 15:09:47,138 INFO L87 Difference]: Start difference. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-15 15:09:47,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:47,153 INFO L93 Difference]: Finished difference Result 472 states and 647 transitions. [2022-04-15 15:09:47,154 INFO L276 IsEmpty]: Start isEmpty. Operand 472 states and 647 transitions. [2022-04-15 15:09:47,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:09:47,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:09:47,156 INFO L74 IsIncluded]: Start isIncluded. First operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) Second operand 472 states. [2022-04-15 15:09:47,156 INFO L87 Difference]: Start difference. First operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) Second operand 472 states. [2022-04-15 15:09:47,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:47,177 INFO L93 Difference]: Finished difference Result 472 states and 647 transitions. [2022-04-15 15:09:47,177 INFO L276 IsEmpty]: Start isEmpty. Operand 472 states and 647 transitions. [2022-04-15 15:09:47,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:09:47,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:09:47,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:09:47,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:09:47,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-15 15:09:47,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 454 states to 454 states and 629 transitions. [2022-04-15 15:09:47,196 INFO L78 Accepts]: Start accepts. Automaton has 454 states and 629 transitions. Word has length 102 [2022-04-15 15:09:47,197 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:09:47,197 INFO L478 AbstractCegarLoop]: Abstraction has 454 states and 629 transitions. [2022-04-15 15:09:47,197 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-15 15:09:47,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 454 states and 629 transitions. [2022-04-15 15:09:48,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 629 edges. 629 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:48,646 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 629 transitions. [2022-04-15 15:09:48,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-15 15:09:48,647 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:09:48,647 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 15:09:48,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 15:09:48,863 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 15:09:48,863 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:09:48,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:09:48,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-15 15:09:48,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:09:48,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1859121828] [2022-04-15 15:09:48,864 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:09:48,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-15 15:09:48,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:09:48,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618809732] [2022-04-15 15:09:48,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:09:48,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:09:48,876 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:09:48,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [251415600] [2022-04-15 15:09:48,876 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:09:48,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:09:48,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:09:48,877 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:09:48,886 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 15:09:48,945 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 15:09:48,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:09:48,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 58 conjunts are in the unsatisfiable core [2022-04-15 15:09:48,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:09:48,967 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:10:13,901 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:10:14,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {26896#true} call ULTIMATE.init(); {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {26896#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); {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26896#true} {26896#true} #112#return; {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {26896#true} call #t~ret6 := main(); {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {26896#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; {26896#true} is VALID [2022-04-15 15:10:14,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26896#true} {26896#true} #94#return; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {26896#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L272 TraceCheckUtils]: 12: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26896#true} {26896#true} #96#return; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L272 TraceCheckUtils]: 17: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 19: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,283 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26896#true} {26896#true} #98#return; {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L272 TraceCheckUtils]: 22: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L290 TraceCheckUtils]: 23: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {26896#true} {26896#true} #100#return; {26896#true} is VALID [2022-04-15 15:10:14,284 INFO L290 TraceCheckUtils]: 27: Hoare triple {26896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26982#(and (= main_~r~0 0) (= 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 15:10:14,285 INFO L290 TraceCheckUtils]: 28: Hoare triple {26982#(and (= main_~r~0 0) (= 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; {26982#(and (= main_~r~0 0) (= 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 15:10:14,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {26982#(and (= main_~r~0 0) (= 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; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,285 INFO L290 TraceCheckUtils]: 30: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,286 INFO L290 TraceCheckUtils]: 31: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,286 INFO L290 TraceCheckUtils]: 32: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,286 INFO L272 TraceCheckUtils]: 33: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,286 INFO L290 TraceCheckUtils]: 34: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,286 INFO L290 TraceCheckUtils]: 36: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,287 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,287 INFO L272 TraceCheckUtils]: 38: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,287 INFO L290 TraceCheckUtils]: 39: Hoare triple {26896#true} ~cond := #in~cond; {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:10:14,288 INFO L290 TraceCheckUtils]: 40: Hoare triple {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:10:14,288 INFO L290 TraceCheckUtils]: 41: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:10:14,289 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,289 INFO L272 TraceCheckUtils]: 43: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,289 INFO L290 TraceCheckUtils]: 44: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,289 INFO L290 TraceCheckUtils]: 45: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,289 INFO L290 TraceCheckUtils]: 46: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,290 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,290 INFO L272 TraceCheckUtils]: 48: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,290 INFO L290 TraceCheckUtils]: 49: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,290 INFO L290 TraceCheckUtils]: 50: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,291 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,291 INFO L290 TraceCheckUtils]: 53: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,291 INFO L290 TraceCheckUtils]: 54: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,291 INFO L272 TraceCheckUtils]: 55: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,292 INFO L290 TraceCheckUtils]: 56: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,292 INFO L290 TraceCheckUtils]: 57: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,292 INFO L290 TraceCheckUtils]: 58: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,292 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,292 INFO L272 TraceCheckUtils]: 60: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,293 INFO L290 TraceCheckUtils]: 61: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,293 INFO L290 TraceCheckUtils]: 62: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,293 INFO L290 TraceCheckUtils]: 63: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,293 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,293 INFO L272 TraceCheckUtils]: 65: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,293 INFO L290 TraceCheckUtils]: 66: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,294 INFO L290 TraceCheckUtils]: 67: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,294 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,294 INFO L272 TraceCheckUtils]: 70: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,294 INFO L290 TraceCheckUtils]: 71: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,294 INFO L290 TraceCheckUtils]: 72: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,295 INFO L290 TraceCheckUtils]: 73: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,295 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,296 INFO L290 TraceCheckUtils]: 75: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,296 INFO L290 TraceCheckUtils]: 76: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,296 INFO L272 TraceCheckUtils]: 77: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,296 INFO L290 TraceCheckUtils]: 78: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,296 INFO L290 TraceCheckUtils]: 79: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,296 INFO L290 TraceCheckUtils]: 80: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,297 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,297 INFO L272 TraceCheckUtils]: 82: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,297 INFO L290 TraceCheckUtils]: 83: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,297 INFO L290 TraceCheckUtils]: 84: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,297 INFO L290 TraceCheckUtils]: 85: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,298 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,298 INFO L272 TraceCheckUtils]: 87: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,298 INFO L290 TraceCheckUtils]: 88: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:10:14,298 INFO L290 TraceCheckUtils]: 89: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:10:14,298 INFO L290 TraceCheckUtils]: 90: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:10:14,299 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,299 INFO L272 TraceCheckUtils]: 92: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:10:14,299 INFO L290 TraceCheckUtils]: 93: Hoare triple {26896#true} ~cond := #in~cond; {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:10:14,300 INFO L290 TraceCheckUtils]: 94: Hoare triple {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:10:14,300 INFO L290 TraceCheckUtils]: 95: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:10:14,301 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {27193#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,301 INFO L290 TraceCheckUtils]: 97: Hoare triple {27193#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {27197#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,304 INFO L290 TraceCheckUtils]: 98: Hoare triple {27197#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,305 INFO L290 TraceCheckUtils]: 99: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !false; {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,305 INFO L290 TraceCheckUtils]: 100: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-15 15:10:14,307 INFO L290 TraceCheckUtils]: 101: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~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; {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-15 15:10:14,308 INFO L290 TraceCheckUtils]: 102: Hoare triple {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !false; {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-15 15:10:14,308 INFO L290 TraceCheckUtils]: 103: Hoare triple {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !(0 != ~b~0); {27218#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1))} is VALID [2022-04-15 15:10:14,311 INFO L272 TraceCheckUtils]: 104: Hoare triple {27218#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:10:14,311 INFO L290 TraceCheckUtils]: 105: Hoare triple {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:10:14,312 INFO L290 TraceCheckUtils]: 106: Hoare triple {27226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26897#false} is VALID [2022-04-15 15:10:14,312 INFO L290 TraceCheckUtils]: 107: Hoare triple {26897#false} assume !false; {26897#false} is VALID [2022-04-15 15:10:14,312 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 57 proven. 33 refuted. 0 times theorem prover too weak. 244 trivial. 0 not checked. [2022-04-15 15:10:14,312 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:10:31,509 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:12:17,364 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:14:01,421 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:14:36,277 INFO L290 TraceCheckUtils]: 107: Hoare triple {26897#false} assume !false; {26897#false} is VALID [2022-04-15 15:14:36,278 INFO L290 TraceCheckUtils]: 106: Hoare triple {27226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26897#false} is VALID [2022-04-15 15:14:36,278 INFO L290 TraceCheckUtils]: 105: Hoare triple {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:36,279 INFO L272 TraceCheckUtils]: 104: Hoare triple {27242#(= (+ (* 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)); {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:14:36,280 INFO L290 TraceCheckUtils]: 103: Hoare triple {27246#(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); {27242#(= (+ (* 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 15:14:36,280 INFO L290 TraceCheckUtils]: 102: Hoare triple {27246#(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; {27246#(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 15:14:36,795 INFO L290 TraceCheckUtils]: 101: Hoare triple {27253#(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; {27246#(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 15:14:36,796 INFO L290 TraceCheckUtils]: 100: Hoare triple {27253#(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); {27253#(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 15:14:36,796 INFO L290 TraceCheckUtils]: 99: Hoare triple {27253#(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; {27253#(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 15:14:37,189 INFO L290 TraceCheckUtils]: 98: Hoare triple {27263#(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; {27253#(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 15:14:37,190 INFO L290 TraceCheckUtils]: 97: Hoare triple {27267#(or (<= (* main_~v~0 2) main_~c~0) (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); {27263#(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 15:14:39,193 WARN L284 TraceCheckUtils]: 96: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #108#return; {27267#(or (<= (* main_~v~0 2) main_~c~0) (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 UNKNOWN [2022-04-15 15:14:39,193 INFO L290 TraceCheckUtils]: 95: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:39,194 INFO L290 TraceCheckUtils]: 94: Hoare triple {27281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:39,194 INFO L290 TraceCheckUtils]: 93: Hoare triple {26896#true} ~cond := #in~cond; {27281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:14:39,194 INFO L272 TraceCheckUtils]: 92: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,203 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #106#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,203 INFO L290 TraceCheckUtils]: 90: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,203 INFO L290 TraceCheckUtils]: 89: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,203 INFO L290 TraceCheckUtils]: 88: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,204 INFO L272 TraceCheckUtils]: 87: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,204 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #104#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,204 INFO L290 TraceCheckUtils]: 85: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,205 INFO L290 TraceCheckUtils]: 84: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,205 INFO L290 TraceCheckUtils]: 83: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,205 INFO L272 TraceCheckUtils]: 82: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,206 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #102#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,206 INFO L290 TraceCheckUtils]: 80: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,206 INFO L290 TraceCheckUtils]: 79: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,206 INFO L290 TraceCheckUtils]: 78: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,206 INFO L272 TraceCheckUtils]: 77: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,207 INFO L290 TraceCheckUtils]: 76: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !false; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,208 INFO L290 TraceCheckUtils]: 75: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,209 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #108#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,209 INFO L290 TraceCheckUtils]: 73: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,209 INFO L290 TraceCheckUtils]: 72: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,209 INFO L290 TraceCheckUtils]: 71: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,209 INFO L272 TraceCheckUtils]: 70: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,210 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #106#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,210 INFO L290 TraceCheckUtils]: 68: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,210 INFO L290 TraceCheckUtils]: 67: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,210 INFO L290 TraceCheckUtils]: 66: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,210 INFO L272 TraceCheckUtils]: 65: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,211 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #104#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,211 INFO L290 TraceCheckUtils]: 63: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,211 INFO L290 TraceCheckUtils]: 62: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,211 INFO L290 TraceCheckUtils]: 61: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,212 INFO L272 TraceCheckUtils]: 60: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,212 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #102#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,213 INFO L272 TraceCheckUtils]: 55: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,213 INFO L290 TraceCheckUtils]: 54: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !false; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,214 INFO L290 TraceCheckUtils]: 53: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,215 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #108#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,215 INFO L290 TraceCheckUtils]: 51: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,215 INFO L290 TraceCheckUtils]: 50: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,215 INFO L290 TraceCheckUtils]: 49: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,215 INFO L272 TraceCheckUtils]: 48: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,216 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {26896#true} {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #106#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,216 INFO L290 TraceCheckUtils]: 46: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,217 INFO L290 TraceCheckUtils]: 45: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,217 INFO L290 TraceCheckUtils]: 44: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,217 INFO L272 TraceCheckUtils]: 43: Hoare triple {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,218 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #104#return; {27271#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,218 INFO L290 TraceCheckUtils]: 41: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:39,219 INFO L290 TraceCheckUtils]: 40: Hoare triple {27281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:39,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {26896#true} ~cond := #in~cond; {27281#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:14:39,219 INFO L272 TraceCheckUtils]: 38: Hoare triple {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,220 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26896#true} {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} #102#return; {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,220 INFO L290 TraceCheckUtils]: 36: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,220 INFO L290 TraceCheckUtils]: 34: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,221 INFO L272 TraceCheckUtils]: 33: Hoare triple {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !false; {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,222 INFO L290 TraceCheckUtils]: 31: Hoare triple {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,223 INFO L290 TraceCheckUtils]: 30: Hoare triple {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} assume !false; {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,223 INFO L290 TraceCheckUtils]: 29: Hoare triple {27475#(or (not (= (mod main_~a~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~a~0 0) (= (+ (* (+ (* (- 1) (* main_~s~0 (div main_~a~0 main_~b~0))) main_~r~0) main_~y~0) main_~b~0 (* (+ (* (- 1) main_~q~0 (div main_~a~0 main_~b~0)) main_~p~0) main_~x~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; {27435#(or (not (= (mod main_~c~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ (* (- 1) main_~q~0 (+ main_~k~0 (div main_~c~0 main_~b~0))) main_~p~0)) main_~b~0 (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 (div main_~c~0 main_~b~0))))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~c~0 0))} is VALID [2022-04-15 15:14:39,224 INFO L290 TraceCheckUtils]: 28: Hoare triple {27475#(or (not (= (mod main_~a~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~a~0 0) (= (+ (* (+ (* (- 1) (* main_~s~0 (div main_~a~0 main_~b~0))) main_~r~0) main_~y~0) main_~b~0 (* (+ (* (- 1) main_~q~0 (div main_~a~0 main_~b~0)) main_~p~0) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {27475#(or (not (= (mod main_~a~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~a~0 0) (= (+ (* (+ (* (- 1) (* main_~s~0 (div main_~a~0 main_~b~0))) main_~r~0) main_~y~0) main_~b~0 (* (+ (* (- 1) main_~q~0 (div main_~a~0 main_~b~0)) main_~p~0) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:14:39,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {26896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27475#(or (not (= (mod main_~a~0 main_~b~0) 0)) (= main_~b~0 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~a~0 0) (= (+ (* (+ (* (- 1) (* main_~s~0 (div main_~a~0 main_~b~0))) main_~r~0) main_~y~0) main_~b~0 (* (+ (* (- 1) main_~q~0 (div main_~a~0 main_~b~0)) main_~p~0) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:14:39,226 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {26896#true} {26896#true} #100#return; {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L290 TraceCheckUtils]: 23: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L272 TraceCheckUtils]: 22: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26896#true} {26896#true} #98#return; {26896#true} is VALID [2022-04-15 15:14:39,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 19: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 18: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L272 TraceCheckUtils]: 17: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26896#true} {26896#true} #96#return; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 15: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L272 TraceCheckUtils]: 12: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L290 TraceCheckUtils]: 11: Hoare triple {26896#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26896#true} is VALID [2022-04-15 15:14:39,227 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26896#true} {26896#true} #94#return; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {26896#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; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {26896#true} call #t~ret6 := main(); {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26896#true} {26896#true} #112#return; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-15 15:14:39,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {26896#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); {26896#true} is VALID [2022-04-15 15:14:39,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {26896#true} call ULTIMATE.init(); {26896#true} is VALID [2022-04-15 15:14:39,229 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 61 proven. 35 refuted. 0 times theorem prover too weak. 238 trivial. 0 not checked. [2022-04-15 15:14:39,229 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:14:39,230 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618809732] [2022-04-15 15:14:39,230 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:14:39,230 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [251415600] [2022-04-15 15:14:39,230 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [251415600] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:14:39,230 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:14:39,230 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-15 15:14:39,230 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:14:39,230 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1859121828] [2022-04-15 15:14:39,230 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1859121828] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:14:39,231 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:14:39,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:14:39,231 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1019614344] [2022-04-15 15:14:39,231 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:14:39,231 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) Word has length 108 [2022-04-15 15:14:39,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:14:39,232 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-15 15:14:39,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:14:39,302 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:14:39,302 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:14:39,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:14:39,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-15 15:14:39,303 INFO L87 Difference]: Start difference. First operand 454 states and 629 transitions. Second operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-15 15:14:43,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:43,166 INFO L93 Difference]: Finished difference Result 530 states and 735 transitions. [2022-04-15 15:14:43,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:14:43,166 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) Word has length 108 [2022-04-15 15:14:43,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:14:43,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-15 15:14:43,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-15 15:14:43,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-15 15:14:43,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-15 15:14:43,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 119 transitions. [2022-04-15 15:14:43,320 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:14:43,336 INFO L225 Difference]: With dead ends: 530 [2022-04-15 15:14:43,336 INFO L226 Difference]: Without dead ends: 527 [2022-04-15 15:14:43,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 193 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=143, Invalid=669, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:14:43,337 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 47 mSDsluCounter, 255 mSDsCounter, 0 mSdLazyCounter, 601 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 644 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 601 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:14:43,337 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 302 Invalid, 644 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 601 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 15:14:43,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 527 states. [2022-04-15 15:14:44,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 527 to 448. [2022-04-15 15:14:44,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:14:44,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 527 states. Second operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) [2022-04-15 15:14:44,742 INFO L74 IsIncluded]: Start isIncluded. First operand 527 states. Second operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) [2022-04-15 15:14:44,742 INFO L87 Difference]: Start difference. First operand 527 states. Second operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) [2022-04-15 15:14:44,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:44,761 INFO L93 Difference]: Finished difference Result 527 states and 731 transitions. [2022-04-15 15:14:44,761 INFO L276 IsEmpty]: Start isEmpty. Operand 527 states and 731 transitions. [2022-04-15 15:14:44,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:14:44,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:14:44,763 INFO L74 IsIncluded]: Start isIncluded. First operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) Second operand 527 states. [2022-04-15 15:14:44,764 INFO L87 Difference]: Start difference. First operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) Second operand 527 states. [2022-04-15 15:14:44,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:44,782 INFO L93 Difference]: Finished difference Result 527 states and 731 transitions. [2022-04-15 15:14:44,782 INFO L276 IsEmpty]: Start isEmpty. Operand 527 states and 731 transitions. [2022-04-15 15:14:44,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:14:44,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:14:44,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:14:44,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:14:44,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 448 states, 260 states have (on average 1.1923076923076923) internal successors, (310), 261 states have internal predecessors, (310), 155 states have call successors, (155), 33 states have call predecessors, (155), 32 states have return successors, (153), 153 states have call predecessors, (153), 153 states have call successors, (153) [2022-04-15 15:14:44,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 448 states to 448 states and 618 transitions. [2022-04-15 15:14:44,802 INFO L78 Accepts]: Start accepts. Automaton has 448 states and 618 transitions. Word has length 108 [2022-04-15 15:14:44,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:14:44,802 INFO L478 AbstractCegarLoop]: Abstraction has 448 states and 618 transitions. [2022-04-15 15:14:44,802 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 3 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-15 15:14:44,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 448 states and 618 transitions. [2022-04-15 15:14:46,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 618 edges. 618 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:14:46,716 INFO L276 IsEmpty]: Start isEmpty. Operand 448 states and 618 transitions. [2022-04-15 15:14:46,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-15 15:14:46,719 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:14:46,719 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:14:46,741 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-15 15:14:46,939 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 15:14:46,939 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:14:46,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:14:46,940 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 9 times [2022-04-15 15:14:46,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:14:46,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [685296007] [2022-04-15 15:14:46,940 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:14:46,940 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 10 times [2022-04-15 15:14:46,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:14:46,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059103830] [2022-04-15 15:14:46,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:14:46,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:14:46,953 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:14:46,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1301596901] [2022-04-15 15:14:46,953 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:14:46,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:14:46,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:14:46,954 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:14:46,984 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 15:14:47,031 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:14:47,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:14:47,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 104 conjunts are in the unsatisfiable core [2022-04-15 15:14:47,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:14:47,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:14:49,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {30589#true} call ULTIMATE.init(); {30589#true} is VALID [2022-04-15 15:14:49,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {30589#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); {30589#true} is VALID [2022-04-15 15:14:49,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30589#true} {30589#true} #112#return; {30589#true} is VALID [2022-04-15 15:14:49,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {30589#true} call #t~ret6 := main(); {30589#true} is VALID [2022-04-15 15:14:49,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {30589#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; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {30589#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30589#true} {30589#true} #94#return; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {30589#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {30589#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 15: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {30589#true} {30589#true} #96#return; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L272 TraceCheckUtils]: 17: Hoare triple {30589#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {30589#true} {30589#true} #98#return; {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L272 TraceCheckUtils]: 22: Hoare triple {30589#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L290 TraceCheckUtils]: 23: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {30589#true} {30589#true} #100#return; {30589#true} is VALID [2022-04-15 15:14:49,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {30589#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {30675#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:14:49,212 INFO L290 TraceCheckUtils]: 28: Hoare triple {30675#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {30675#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:14:49,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {30675#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,213 INFO L290 TraceCheckUtils]: 32: Hoare triple {30682#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30692#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:14:49,214 INFO L290 TraceCheckUtils]: 33: Hoare triple {30692#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {30692#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:14:49,214 INFO L290 TraceCheckUtils]: 34: Hoare triple {30692#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30699#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:14:49,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {30699#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {30699#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:14:49,215 INFO L290 TraceCheckUtils]: 36: Hoare triple {30699#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30706#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:14:49,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {30706#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {30706#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:14:49,215 INFO L272 TraceCheckUtils]: 38: Hoare triple {30706#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,216 INFO L290 TraceCheckUtils]: 39: Hoare triple {30589#true} ~cond := #in~cond; {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,216 INFO L290 TraceCheckUtils]: 40: Hoare triple {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,216 INFO L290 TraceCheckUtils]: 41: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,217 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {30706#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {30727#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,217 INFO L272 TraceCheckUtils]: 43: Hoare triple {30727#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,218 INFO L290 TraceCheckUtils]: 44: Hoare triple {30589#true} ~cond := #in~cond; {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,218 INFO L290 TraceCheckUtils]: 45: Hoare triple {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,218 INFO L290 TraceCheckUtils]: 46: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,219 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {30727#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,219 INFO L272 TraceCheckUtils]: 48: Hoare triple {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,219 INFO L290 TraceCheckUtils]: 49: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,219 INFO L290 TraceCheckUtils]: 50: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,220 INFO L290 TraceCheckUtils]: 51: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,220 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {30589#true} {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,220 INFO L272 TraceCheckUtils]: 53: Hoare triple {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,221 INFO L290 TraceCheckUtils]: 54: Hoare triple {30589#true} ~cond := #in~cond; {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,221 INFO L290 TraceCheckUtils]: 55: Hoare triple {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,221 INFO L290 TraceCheckUtils]: 56: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,222 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,222 INFO L290 TraceCheckUtils]: 58: Hoare triple {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,224 INFO L290 TraceCheckUtils]: 59: Hoare triple {30743#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,224 INFO L290 TraceCheckUtils]: 60: Hoare triple {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,225 INFO L290 TraceCheckUtils]: 61: Hoare triple {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:14:49,228 INFO L290 TraceCheckUtils]: 62: Hoare triple {30780#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30790#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,228 INFO L290 TraceCheckUtils]: 63: Hoare triple {30790#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {30790#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,229 INFO L290 TraceCheckUtils]: 64: Hoare triple {30790#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30797#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,229 INFO L290 TraceCheckUtils]: 65: Hoare triple {30797#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {30797#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,230 INFO L290 TraceCheckUtils]: 66: Hoare triple {30797#(and (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30804#(and (= main_~b~0 main_~v~0) (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,231 INFO L290 TraceCheckUtils]: 67: Hoare triple {30804#(and (= main_~b~0 main_~v~0) (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {30804#(and (= main_~b~0 main_~v~0) (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,231 INFO L272 TraceCheckUtils]: 68: Hoare triple {30804#(and (= main_~b~0 main_~v~0) (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,231 INFO L290 TraceCheckUtils]: 69: Hoare triple {30589#true} ~cond := #in~cond; {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,231 INFO L290 TraceCheckUtils]: 70: Hoare triple {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,232 INFO L290 TraceCheckUtils]: 71: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,233 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {30804#(and (= main_~b~0 main_~v~0) (= (+ (* main_~q~0 main_~x~0) (* (- 1) main_~a~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~b~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~x~0 (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (* main_~p~0 main_~x~0) (+ (* main_~p~0 main_~x~0 1) main_~a~0 (* (- 1) (* main_~p~0 main_~x~0)))) (= (+ main_~q~0 main_~p~0) 0))} #102#return; {30823#(and (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= main_~d~0 1) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,233 INFO L272 TraceCheckUtils]: 73: Hoare triple {30823#(and (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= main_~d~0 1) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,234 INFO L290 TraceCheckUtils]: 74: Hoare triple {30589#true} ~cond := #in~cond; {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,234 INFO L290 TraceCheckUtils]: 75: Hoare triple {30716#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,234 INFO L290 TraceCheckUtils]: 76: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:49,236 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {30823#(and (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= main_~d~0 1) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 0))} #104#return; {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,237 INFO L272 TraceCheckUtils]: 78: Hoare triple {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,237 INFO L290 TraceCheckUtils]: 79: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,237 INFO L290 TraceCheckUtils]: 80: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,237 INFO L290 TraceCheckUtils]: 81: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,237 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30589#true} {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} #106#return; {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,238 INFO L272 TraceCheckUtils]: 83: Hoare triple {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,238 INFO L290 TraceCheckUtils]: 84: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,238 INFO L290 TraceCheckUtils]: 85: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,238 INFO L290 TraceCheckUtils]: 86: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,239 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {30589#true} {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} #108#return; {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,239 INFO L290 TraceCheckUtils]: 88: Hoare triple {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= 2 * ~v~0); {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:14:49,240 INFO L290 TraceCheckUtils]: 89: Hoare triple {30839#(and (= main_~r~0 0) (= (+ main_~c~0 main_~v~0) (+ (* main_~q~0 main_~x~0) main_~y~0 (* main_~p~0 main_~x~0))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,240 INFO L290 TraceCheckUtils]: 90: Hoare triple {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,241 INFO L290 TraceCheckUtils]: 91: Hoare triple {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0))} assume !(~c~0 >= ~b~0); {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:14:49,245 INFO L290 TraceCheckUtils]: 92: Hoare triple {30876#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~c~0 (+ (* main_~x~0 2) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0)))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ main_~x~0 (* main_~y~0 main_~s~0))) (= main_~k~0 1) (= (+ main_~q~0 main_~p~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; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,245 INFO L290 TraceCheckUtils]: 93: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} assume !false; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,246 INFO L290 TraceCheckUtils]: 94: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,246 INFO L290 TraceCheckUtils]: 95: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} assume !false; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,247 INFO L290 TraceCheckUtils]: 96: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,247 INFO L290 TraceCheckUtils]: 97: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} assume !false; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,247 INFO L272 TraceCheckUtils]: 98: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:14:49,247 INFO L290 TraceCheckUtils]: 99: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:14:49,248 INFO L290 TraceCheckUtils]: 100: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:14:49,248 INFO L290 TraceCheckUtils]: 101: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:14:49,248 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {30589#true} {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} #102#return; {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:14:49,250 INFO L272 TraceCheckUtils]: 103: Hoare triple {30886#(and (= (+ main_~y~0 (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (+ main_~y~0 main_~x~0)) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) (* (* (div (- main_~q~0) 2) (- 1)) main_~x~0)) (* (- 1) (* (div (- main_~q~0) 2) main_~x~0)) (* (- 1) main_~y~0))) (= (mod main_~q~0 2) 0) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {30920#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:14:49,251 INFO L290 TraceCheckUtils]: 104: Hoare triple {30920#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30924#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:49,251 INFO L290 TraceCheckUtils]: 105: Hoare triple {30924#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {30590#false} is VALID [2022-04-15 15:14:49,251 INFO L290 TraceCheckUtils]: 106: Hoare triple {30590#false} assume !false; {30590#false} is VALID [2022-04-15 15:14:49,252 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 22 proven. 114 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 15:14:49,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:15:55,073 INFO L290 TraceCheckUtils]: 106: Hoare triple {30590#false} assume !false; {30590#false} is VALID [2022-04-15 15:15:55,074 INFO L290 TraceCheckUtils]: 105: Hoare triple {30924#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {30590#false} is VALID [2022-04-15 15:15:55,074 INFO L290 TraceCheckUtils]: 104: Hoare triple {30920#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30924#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:55,075 INFO L272 TraceCheckUtils]: 103: Hoare triple {30940#(= 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)); {30920#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:15:55,075 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {30589#true} {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:55,075 INFO L290 TraceCheckUtils]: 101: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:55,075 INFO L290 TraceCheckUtils]: 100: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:55,075 INFO L290 TraceCheckUtils]: 99: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:55,076 INFO L272 TraceCheckUtils]: 98: Hoare triple {30940#(= 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)); {30589#true} is VALID [2022-04-15 15:15:55,076 INFO L290 TraceCheckUtils]: 97: Hoare triple {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:55,076 INFO L290 TraceCheckUtils]: 96: Hoare triple {30940#(= 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; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:55,077 INFO L290 TraceCheckUtils]: 95: Hoare triple {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:55,077 INFO L290 TraceCheckUtils]: 94: Hoare triple {30940#(= 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; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:55,077 INFO L290 TraceCheckUtils]: 93: Hoare triple {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:56,763 INFO L290 TraceCheckUtils]: 92: Hoare triple {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30940#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:56,764 INFO L290 TraceCheckUtils]: 91: Hoare triple {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:15:56,764 INFO L290 TraceCheckUtils]: 90: Hoare triple {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:15:58,765 WARN L290 TraceCheckUtils]: 89: Hoare triple {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30974#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is UNKNOWN [2022-04-15 15:15:58,766 INFO L290 TraceCheckUtils]: 88: Hoare triple {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:15:58,767 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {30589#true} {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:15:58,767 INFO L290 TraceCheckUtils]: 86: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,767 INFO L290 TraceCheckUtils]: 85: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,767 INFO L290 TraceCheckUtils]: 84: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,767 INFO L272 TraceCheckUtils]: 83: Hoare triple {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,768 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30589#true} {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:15:58,768 INFO L290 TraceCheckUtils]: 81: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,768 INFO L290 TraceCheckUtils]: 80: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,768 INFO L290 TraceCheckUtils]: 79: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,768 INFO L272 TraceCheckUtils]: 78: Hoare triple {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,769 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {31021#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {30984#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:15:58,769 INFO L290 TraceCheckUtils]: 76: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:58,770 INFO L290 TraceCheckUtils]: 75: Hoare triple {31031#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:58,770 INFO L290 TraceCheckUtils]: 74: Hoare triple {30589#true} ~cond := #in~cond; {31031#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:15:58,770 INFO L272 TraceCheckUtils]: 73: Hoare triple {31021#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,771 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} {31038#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {31021#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:58,772 INFO L290 TraceCheckUtils]: 71: Hoare triple {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:58,772 INFO L290 TraceCheckUtils]: 70: Hoare triple {31031#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30720#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:58,772 INFO L290 TraceCheckUtils]: 69: Hoare triple {30589#true} ~cond := #in~cond; {31031#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:15:58,772 INFO L272 TraceCheckUtils]: 68: Hoare triple {31038#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,773 INFO L290 TraceCheckUtils]: 67: Hoare triple {31038#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {31038#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:58,773 INFO L290 TraceCheckUtils]: 66: Hoare triple {31057#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31038#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:58,774 INFO L290 TraceCheckUtils]: 65: Hoare triple {31057#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {31057#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 64: Hoare triple {30589#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31057#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 63: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 62: Hoare triple {30589#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; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 61: Hoare triple {30589#true} assume !(~c~0 >= ~b~0); {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 59: Hoare triple {30589#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {30589#true} assume !(~c~0 >= 2 * ~v~0); {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {30589#true} {30589#true} #108#return; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 56: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 55: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,776 INFO L290 TraceCheckUtils]: 54: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L272 TraceCheckUtils]: 53: Hoare triple {30589#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {30589#true} {30589#true} #106#return; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 51: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 50: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L272 TraceCheckUtils]: 48: Hoare triple {30589#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {30589#true} {30589#true} #104#return; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 46: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L272 TraceCheckUtils]: 43: Hoare triple {30589#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {30589#true} {30589#true} #102#return; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L272 TraceCheckUtils]: 38: Hoare triple {30589#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {30589#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {30589#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 33: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 32: Hoare triple {30589#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; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 31: Hoare triple {30589#true} assume !(~c~0 >= ~b~0); {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 30: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {30589#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 28: Hoare triple {30589#true} assume !false; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {30589#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {30589#true} {30589#true} #100#return; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,779 INFO L290 TraceCheckUtils]: 24: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 23: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L272 TraceCheckUtils]: 22: Hoare triple {30589#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {30589#true} {30589#true} #98#return; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L272 TraceCheckUtils]: 17: Hoare triple {30589#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {30589#true} {30589#true} #96#return; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L272 TraceCheckUtils]: 12: Hoare triple {30589#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {30589#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30589#true} {30589#true} #94#return; {30589#true} is VALID [2022-04-15 15:15:58,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {30589#true} assume !(0 == ~cond); {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {30589#true} ~cond := #in~cond; {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L272 TraceCheckUtils]: 6: Hoare triple {30589#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {30589#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; {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {30589#true} call #t~ret6 := main(); {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30589#true} {30589#true} #112#return; {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {30589#true} assume true; {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {30589#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); {30589#true} is VALID [2022-04-15 15:15:58,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {30589#true} call ULTIMATE.init(); {30589#true} is VALID [2022-04-15 15:15:58,782 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 78 proven. 27 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-15 15:15:58,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:15:58,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2059103830] [2022-04-15 15:15:58,782 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:15:58,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1301596901] [2022-04-15 15:15:58,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1301596901] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:15:58,782 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:15:58,782 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 12] total 28 [2022-04-15 15:15:58,782 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:15:58,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [685296007] [2022-04-15 15:15:58,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [685296007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:15:58,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:15:58,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 15:15:58,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801763753] [2022-04-15 15:15:58,783 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:15:58,783 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) Word has length 107 [2022-04-15 15:15:58,783 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:15:58,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-15 15:15:58,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:15:58,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 15:15:58,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:15:58,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 15:15:58,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=639, Unknown=0, NotChecked=0, Total=756 [2022-04-15 15:15:58,965 INFO L87 Difference]: Start difference. First operand 448 states and 618 transitions. Second operand has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-15 15:16:05,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:05,896 INFO L93 Difference]: Finished difference Result 523 states and 710 transitions. [2022-04-15 15:16:05,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 15:16:05,896 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) Word has length 107 [2022-04-15 15:16:05,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:16:05,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-15 15:16:05,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 195 transitions. [2022-04-15 15:16:05,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-15 15:16:05,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 195 transitions. [2022-04-15 15:16:05,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 195 transitions. [2022-04-15 15:16:06,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:06,249 INFO L225 Difference]: With dead ends: 523 [2022-04-15 15:16:06,249 INFO L226 Difference]: Without dead ends: 521 [2022-04-15 15:16:06,249 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 185 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 199 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=163, Invalid=959, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 15:16:06,250 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 75 mSDsluCounter, 486 mSDsCounter, 0 mSdLazyCounter, 1392 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 544 SdHoareTripleChecker+Invalid, 1447 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 1392 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:16:06,250 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [104 Valid, 544 Invalid, 1447 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 1392 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-15 15:16:06,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 521 states. [2022-04-15 15:16:07,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 521 to 499. [2022-04-15 15:16:07,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:16:07,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 521 states. Second operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) [2022-04-15 15:16:07,810 INFO L74 IsIncluded]: Start isIncluded. First operand 521 states. Second operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) [2022-04-15 15:16:07,811 INFO L87 Difference]: Start difference. First operand 521 states. Second operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) [2022-04-15 15:16:07,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:07,829 INFO L93 Difference]: Finished difference Result 521 states and 708 transitions. [2022-04-15 15:16:07,829 INFO L276 IsEmpty]: Start isEmpty. Operand 521 states and 708 transitions. [2022-04-15 15:16:07,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:07,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:07,832 INFO L74 IsIncluded]: Start isIncluded. First operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) Second operand 521 states. [2022-04-15 15:16:07,832 INFO L87 Difference]: Start difference. First operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) Second operand 521 states. [2022-04-15 15:16:07,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:07,849 INFO L93 Difference]: Finished difference Result 521 states and 708 transitions. [2022-04-15 15:16:07,850 INFO L276 IsEmpty]: Start isEmpty. Operand 521 states and 708 transitions. [2022-04-15 15:16:07,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:07,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:07,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:16:07,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:16:07,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 499 states, 291 states have (on average 1.1890034364261168) internal successors, (346), 292 states have internal predecessors, (346), 171 states have call successors, (171), 37 states have call predecessors, (171), 36 states have return successors, (169), 169 states have call predecessors, (169), 169 states have call successors, (169) [2022-04-15 15:16:07,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 499 states to 499 states and 686 transitions. [2022-04-15 15:16:07,873 INFO L78 Accepts]: Start accepts. Automaton has 499 states and 686 transitions. Word has length 107 [2022-04-15 15:16:07,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:16:07,873 INFO L478 AbstractCegarLoop]: Abstraction has 499 states and 686 transitions. [2022-04-15 15:16:07,873 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 2.473684210526316) internal successors, (47), 18 states have internal predecessors, (47), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-15 15:16:07,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 499 states and 686 transitions. [2022-04-15 15:16:10,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 686 edges. 686 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:10,292 INFO L276 IsEmpty]: Start isEmpty. Operand 499 states and 686 transitions. [2022-04-15 15:16:10,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-15 15:16:10,293 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:16:10,293 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:16:10,310 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-15 15:16:10,493 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:16:10,494 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:16:10,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:16:10,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 7 times [2022-04-15 15:16:10,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:16:10,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [164241371] [2022-04-15 15:16:10,494 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:16:10,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 8 times [2022-04-15 15:16:10,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:16:10,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2112608065] [2022-04-15 15:16:10,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:16:10,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:16:10,514 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:16:10,514 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1968065148] [2022-04-15 15:16:10,515 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:16:10,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:16:10,515 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:16:10,516 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:16:10,522 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 15:16:10,581 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:16:10,581 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:16:10,583 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 68 conjunts are in the unsatisfiable core [2022-04-15 15:16:10,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:16:10,606 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:16:12,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {34356#true} call ULTIMATE.init(); {34356#true} is VALID [2022-04-15 15:16:12,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {34356#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); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34356#true} {34356#true} #112#return; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L272 TraceCheckUtils]: 4: Hoare triple {34356#true} call #t~ret6 := main(); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 5: Hoare triple {34356#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; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L272 TraceCheckUtils]: 6: Hoare triple {34356#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34356#true} {34356#true} #94#return; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {34356#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L272 TraceCheckUtils]: 12: Hoare triple {34356#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {34356#true} {34356#true} #96#return; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L272 TraceCheckUtils]: 17: Hoare triple {34356#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {34356#true} {34356#true} #98#return; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L272 TraceCheckUtils]: 22: Hoare triple {34356#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {34356#true} {34356#true} #100#return; {34356#true} is VALID [2022-04-15 15:16:12,877 INFO L290 TraceCheckUtils]: 27: Hoare triple {34356#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {34442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,877 INFO L290 TraceCheckUtils]: 29: Hoare triple {34442#(and (= main_~r~0 0) (= main_~s~0 1) (= 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; {34449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {34449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {34449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= 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; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,879 INFO L272 TraceCheckUtils]: 33: Hoare triple {34456#(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_~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)); {34356#true} is VALID [2022-04-15 15:16:12,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,880 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {34356#true} {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,880 INFO L272 TraceCheckUtils]: 38: Hoare triple {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,880 INFO L290 TraceCheckUtils]: 39: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,880 INFO L290 TraceCheckUtils]: 40: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,880 INFO L290 TraceCheckUtils]: 41: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,888 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34356#true} {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,888 INFO L272 TraceCheckUtils]: 43: Hoare triple {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,888 INFO L290 TraceCheckUtils]: 44: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,888 INFO L290 TraceCheckUtils]: 45: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,888 INFO L290 TraceCheckUtils]: 46: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,889 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34356#true} {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,889 INFO L272 TraceCheckUtils]: 48: Hoare triple {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,889 INFO L290 TraceCheckUtils]: 49: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,889 INFO L290 TraceCheckUtils]: 50: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,889 INFO L290 TraceCheckUtils]: 51: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,890 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34356#true} {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,892 INFO L290 TraceCheckUtils]: 53: Hoare triple {34456#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,892 INFO L290 TraceCheckUtils]: 54: Hoare triple {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,892 INFO L272 TraceCheckUtils]: 55: Hoare triple {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,892 INFO L290 TraceCheckUtils]: 56: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,894 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {34356#true} {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,894 INFO L272 TraceCheckUtils]: 60: Hoare triple {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,894 INFO L290 TraceCheckUtils]: 61: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,894 INFO L290 TraceCheckUtils]: 62: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,894 INFO L290 TraceCheckUtils]: 63: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,895 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {34356#true} {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,895 INFO L272 TraceCheckUtils]: 65: Hoare triple {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,895 INFO L290 TraceCheckUtils]: 66: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,895 INFO L290 TraceCheckUtils]: 67: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,895 INFO L290 TraceCheckUtils]: 68: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,896 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {34356#true} {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,896 INFO L272 TraceCheckUtils]: 70: Hoare triple {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,897 INFO L290 TraceCheckUtils]: 71: Hoare triple {34356#true} ~cond := #in~cond; {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:16:12,897 INFO L290 TraceCheckUtils]: 72: Hoare triple {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,897 INFO L290 TraceCheckUtils]: 73: Hoare triple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,898 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} {34523#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {34589#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,899 INFO L290 TraceCheckUtils]: 75: Hoare triple {34589#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {34589#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {34589#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {34596#(and (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,902 INFO L290 TraceCheckUtils]: 77: Hoare triple {34596#(and (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34596#(and (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,902 INFO L290 TraceCheckUtils]: 78: Hoare triple {34596#(and (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,903 INFO L290 TraceCheckUtils]: 79: Hoare triple {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,903 INFO L272 TraceCheckUtils]: 80: Hoare triple {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,903 INFO L290 TraceCheckUtils]: 81: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,903 INFO L290 TraceCheckUtils]: 82: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,903 INFO L290 TraceCheckUtils]: 83: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,904 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {34356#true} {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,904 INFO L272 TraceCheckUtils]: 85: Hoare triple {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,904 INFO L290 TraceCheckUtils]: 86: Hoare triple {34356#true} ~cond := #in~cond; {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:16:12,904 INFO L290 TraceCheckUtils]: 87: Hoare triple {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,905 INFO L290 TraceCheckUtils]: 88: Hoare triple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,906 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} {34603#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {34637#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,906 INFO L272 TraceCheckUtils]: 90: Hoare triple {34637#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,906 INFO L290 TraceCheckUtils]: 91: Hoare triple {34356#true} ~cond := #in~cond; {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:16:12,907 INFO L290 TraceCheckUtils]: 92: Hoare triple {34578#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,907 INFO L290 TraceCheckUtils]: 93: Hoare triple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:12,909 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {34582#(not (= |__VERIFIER_assert_#in~cond| 0))} {34637#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,909 INFO L272 TraceCheckUtils]: 95: Hoare triple {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {34356#true} is VALID [2022-04-15 15:16:12,909 INFO L290 TraceCheckUtils]: 96: Hoare triple {34356#true} ~cond := #in~cond; {34356#true} is VALID [2022-04-15 15:16:12,909 INFO L290 TraceCheckUtils]: 97: Hoare triple {34356#true} assume !(0 == ~cond); {34356#true} is VALID [2022-04-15 15:16:12,909 INFO L290 TraceCheckUtils]: 98: Hoare triple {34356#true} assume true; {34356#true} is VALID [2022-04-15 15:16:12,910 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {34356#true} {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,911 INFO L290 TraceCheckUtils]: 100: Hoare triple {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,913 INFO L290 TraceCheckUtils]: 101: Hoare triple {34653#(and (= main_~b~0 main_~v~0) (= 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))) (= main_~s~0 1) (= (mod main_~k~0 2) 0) (= main_~d~0 1) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,914 INFO L290 TraceCheckUtils]: 102: Hoare triple {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,915 INFO L290 TraceCheckUtils]: 103: Hoare triple {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:16:12,917 INFO L290 TraceCheckUtils]: 104: Hoare triple {34675#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= (+ main_~c~0 main_~b~0 (* (+ (- 1) main_~k~0) main_~b~0)) main_~x~0) (= (* (+ (- 1) main_~k~0) main_~b~0) (* main_~b~0 2)) (= (mod (+ main_~k~0 1) 2) 0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {34685#(and (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} is VALID [2022-04-15 15:16:12,918 INFO L290 TraceCheckUtils]: 105: Hoare triple {34685#(and (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} assume !false; {34685#(and (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} is VALID [2022-04-15 15:16:12,918 INFO L290 TraceCheckUtils]: 106: Hoare triple {34685#(and (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} assume !(0 != ~b~0); {34692#(and (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} is VALID [2022-04-15 15:16:12,919 INFO L272 TraceCheckUtils]: 107: Hoare triple {34692#(and (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (= main_~p~0 0) (= (* main_~a~0 2) (* main_~a~0 (+ (- 1) (* (- 1) main_~s~0)))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod (+ main_~s~0 1) 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {34696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:16:12,919 INFO L290 TraceCheckUtils]: 108: Hoare triple {34696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {34700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:16:12,920 INFO L290 TraceCheckUtils]: 109: Hoare triple {34700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {34357#false} is VALID [2022-04-15 15:16:12,920 INFO L290 TraceCheckUtils]: 110: Hoare triple {34357#false} assume !false; {34357#false} is VALID [2022-04-15 15:16:12,920 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 90 proven. 42 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:16:12,920 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:16:45,625 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:16:46,244 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:16:46,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2112608065] [2022-04-15 15:16:46,244 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:16:46,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968065148] [2022-04-15 15:16:46,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1968065148] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:16:46,244 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:16:46,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-04-15 15:16:46,245 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:16:46,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [164241371] [2022-04-15 15:16:46,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [164241371] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:16:46,245 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:16:46,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 15:16:46,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [607323805] [2022-04-15 15:16:46,245 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:16:46,246 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 111 [2022-04-15 15:16:46,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:16:46,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-15 15:16:46,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:46,520 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 15:16:46,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:16:46,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 15:16:46,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=517, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:16:46,521 INFO L87 Difference]: Start difference. First operand 499 states and 686 transitions. Second operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-15 15:16:53,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:53,927 INFO L93 Difference]: Finished difference Result 588 states and 809 transitions. [2022-04-15 15:16:53,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 15:16:53,928 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 111 [2022-04-15 15:16:53,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:16:53,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-15 15:16:53,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 158 transitions. [2022-04-15 15:16:53,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-15 15:16:53,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 158 transitions. [2022-04-15 15:16:53,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 158 transitions. [2022-04-15 15:16:54,276 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 15:16:54,293 INFO L225 Difference]: With dead ends: 588 [2022-04-15 15:16:54,293 INFO L226 Difference]: Without dead ends: 585 [2022-04-15 15:16:54,293 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 184 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=108, Invalid=704, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:16:54,294 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 63 mSDsluCounter, 267 mSDsCounter, 0 mSdLazyCounter, 829 mSolverCounterSat, 70 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 320 SdHoareTripleChecker+Invalid, 899 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 70 IncrementalHoareTripleChecker+Valid, 829 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:16:54,294 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 320 Invalid, 899 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [70 Valid, 829 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-15 15:16:54,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 585 states. [2022-04-15 15:16:55,978 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 585 to 528. [2022-04-15 15:16:55,978 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:16:55,979 INFO L82 GeneralOperation]: Start isEquivalent. First operand 585 states. Second operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) [2022-04-15 15:16:55,980 INFO L74 IsIncluded]: Start isIncluded. First operand 585 states. Second operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) [2022-04-15 15:16:55,980 INFO L87 Difference]: Start difference. First operand 585 states. Second operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) [2022-04-15 15:16:55,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:55,999 INFO L93 Difference]: Finished difference Result 585 states and 805 transitions. [2022-04-15 15:16:55,999 INFO L276 IsEmpty]: Start isEmpty. Operand 585 states and 805 transitions. [2022-04-15 15:16:56,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:56,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:56,001 INFO L74 IsIncluded]: Start isIncluded. First operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) Second operand 585 states. [2022-04-15 15:16:56,002 INFO L87 Difference]: Start difference. First operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) Second operand 585 states. [2022-04-15 15:16:56,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:56,023 INFO L93 Difference]: Finished difference Result 585 states and 805 transitions. [2022-04-15 15:16:56,023 INFO L276 IsEmpty]: Start isEmpty. Operand 585 states and 805 transitions. [2022-04-15 15:16:56,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:56,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:56,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:16:56,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:16:56,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 528 states, 306 states have (on average 1.1928104575163399) internal successors, (365), 307 states have internal predecessors, (365), 183 states have call successors, (183), 39 states have call predecessors, (183), 38 states have return successors, (181), 181 states have call predecessors, (181), 181 states have call successors, (181) [2022-04-15 15:16:56,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 528 states to 528 states and 729 transitions. [2022-04-15 15:16:56,047 INFO L78 Accepts]: Start accepts. Automaton has 528 states and 729 transitions. Word has length 111 [2022-04-15 15:16:56,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:16:56,047 INFO L478 AbstractCegarLoop]: Abstraction has 528 states and 729 transitions. [2022-04-15 15:16:56,047 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-15 15:16:56,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 528 states and 729 transitions. [2022-04-15 15:16:58,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 729 edges. 729 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:58,756 INFO L276 IsEmpty]: Start isEmpty. Operand 528 states and 729 transitions. [2022-04-15 15:16:58,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-15 15:16:58,757 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:16:58,757 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:16:58,774 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 15:16:58,958 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:16:58,958 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:16:58,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:16:58,959 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 9 times [2022-04-15 15:16:58,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:16:58,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [489448238] [2022-04-15 15:16:58,959 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:16:58,959 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 10 times [2022-04-15 15:16:58,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:16:58,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [24573649] [2022-04-15 15:16:58,960 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:16:58,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:16:58,973 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:16:58,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1630474904] [2022-04-15 15:16:58,973 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:16:58,973 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:16:58,973 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:16:58,979 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:16:58,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 15:16:59,039 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:16:59,039 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:16:59,041 INFO L263 TraceCheckSpWp]: Trace formula consists of 252 conjuncts, 99 conjunts are in the unsatisfiable core [2022-04-15 15:16:59,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:16:59,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:17:01,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {38189#true} call ULTIMATE.init(); {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {38189#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); {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38189#true} {38189#true} #112#return; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {38189#true} call #t~ret6 := main(); {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {38189#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; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {38189#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38189#true} {38189#true} #94#return; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {38189#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38189#true} is VALID [2022-04-15 15:17:01,706 INFO L272 TraceCheckUtils]: 12: Hoare triple {38189#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {38189#true} ~cond := #in~cond; {38233#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:17:01,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {38233#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {38237#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:17:01,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {38237#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {38237#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:17:01,708 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38237#(not (= |assume_abort_if_not_#in~cond| 0))} {38189#true} #96#return; {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,708 INFO L272 TraceCheckUtils]: 17: Hoare triple {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,708 INFO L290 TraceCheckUtils]: 18: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,709 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38189#true} {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,709 INFO L272 TraceCheckUtils]: 22: Hoare triple {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,709 INFO L290 TraceCheckUtils]: 23: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,709 INFO L290 TraceCheckUtils]: 24: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,709 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38189#true} {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #100#return; {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {38244#(and (<= 0 main_~y~0) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38278#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,710 INFO L290 TraceCheckUtils]: 28: Hoare triple {38278#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !false; {38278#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {38278#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:17:01,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !false; {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:17:01,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:17:01,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {38285#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= 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; {38295#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {38295#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {38295#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,714 INFO L290 TraceCheckUtils]: 34: Hoare triple {38295#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38302#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,715 INFO L290 TraceCheckUtils]: 35: Hoare triple {38302#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {38302#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {38302#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} assume !false; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,716 INFO L272 TraceCheckUtils]: 38: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,716 INFO L290 TraceCheckUtils]: 39: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,716 INFO L290 TraceCheckUtils]: 40: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,716 INFO L290 TraceCheckUtils]: 41: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,717 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {38189#true} {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} #102#return; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,717 INFO L272 TraceCheckUtils]: 43: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,717 INFO L290 TraceCheckUtils]: 44: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,717 INFO L290 TraceCheckUtils]: 45: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,717 INFO L290 TraceCheckUtils]: 46: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,718 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {38189#true} {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} #104#return; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,718 INFO L272 TraceCheckUtils]: 48: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,718 INFO L290 TraceCheckUtils]: 50: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,718 INFO L290 TraceCheckUtils]: 51: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,719 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {38189#true} {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} #106#return; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,719 INFO L272 TraceCheckUtils]: 53: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,719 INFO L290 TraceCheckUtils]: 54: Hoare triple {38189#true} ~cond := #in~cond; {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,719 INFO L290 TraceCheckUtils]: 55: Hoare triple {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,720 INFO L290 TraceCheckUtils]: 56: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,720 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} #108#return; {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,721 INFO L290 TraceCheckUtils]: 58: Hoare triple {38309#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (<= main_~y~0 5))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,721 INFO L290 TraceCheckUtils]: 59: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} assume !false; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,722 INFO L272 TraceCheckUtils]: 60: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,722 INFO L290 TraceCheckUtils]: 61: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,722 INFO L290 TraceCheckUtils]: 62: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,722 INFO L290 TraceCheckUtils]: 63: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,722 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38189#true} {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} #102#return; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,723 INFO L272 TraceCheckUtils]: 65: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,723 INFO L290 TraceCheckUtils]: 66: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,723 INFO L290 TraceCheckUtils]: 67: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,723 INFO L290 TraceCheckUtils]: 68: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,723 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {38189#true} {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} #104#return; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,724 INFO L272 TraceCheckUtils]: 70: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,724 INFO L290 TraceCheckUtils]: 71: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,724 INFO L290 TraceCheckUtils]: 72: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,724 INFO L290 TraceCheckUtils]: 73: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,724 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {38189#true} {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} #106#return; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,725 INFO L272 TraceCheckUtils]: 75: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,725 INFO L290 TraceCheckUtils]: 76: Hoare triple {38189#true} ~cond := #in~cond; {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,725 INFO L290 TraceCheckUtils]: 77: Hoare triple {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,725 INFO L290 TraceCheckUtils]: 78: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,726 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} #108#return; {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,728 INFO L290 TraceCheckUtils]: 80: Hoare triple {38378#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (<= main_~y~0 5))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38445#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,728 INFO L290 TraceCheckUtils]: 81: Hoare triple {38445#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (<= main_~y~0 5))} assume !false; {38445#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,728 INFO L272 TraceCheckUtils]: 82: Hoare triple {38445#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,729 INFO L290 TraceCheckUtils]: 83: Hoare triple {38189#true} ~cond := #in~cond; {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,729 INFO L290 TraceCheckUtils]: 84: Hoare triple {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,729 INFO L290 TraceCheckUtils]: 85: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,730 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38445#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (<= main_~y~0 5))} #102#return; {38464#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,730 INFO L272 TraceCheckUtils]: 87: Hoare triple {38464#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,731 INFO L290 TraceCheckUtils]: 88: Hoare triple {38189#true} ~cond := #in~cond; {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,731 INFO L290 TraceCheckUtils]: 89: Hoare triple {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,732 INFO L290 TraceCheckUtils]: 90: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,733 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38464#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} #104#return; {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,733 INFO L272 TraceCheckUtils]: 92: Hoare triple {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,733 INFO L290 TraceCheckUtils]: 93: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:17:01,733 INFO L290 TraceCheckUtils]: 94: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:17:01,733 INFO L290 TraceCheckUtils]: 95: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:17:01,735 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38189#true} {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} #106#return; {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,735 INFO L272 TraceCheckUtils]: 97: Hoare triple {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:17:01,735 INFO L290 TraceCheckUtils]: 98: Hoare triple {38189#true} ~cond := #in~cond; {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,736 INFO L290 TraceCheckUtils]: 99: Hoare triple {38364#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,736 INFO L290 TraceCheckUtils]: 100: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:17:01,737 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} #108#return; {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,738 INFO L290 TraceCheckUtils]: 102: Hoare triple {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} assume !(~c~0 >= 2 * ~v~0); {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,739 INFO L290 TraceCheckUtils]: 103: Hoare triple {38480#(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_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (<= (* main_~b~0 4) main_~c~0) (= main_~b~0 main_~x~0) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~y~0 5))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {38517#(and (<= 0 main_~y~0) (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:17:01,740 INFO L290 TraceCheckUtils]: 104: Hoare triple {38517#(and (<= 0 main_~y~0) (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {38517#(and (<= 0 main_~y~0) (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:17:01,741 INFO L290 TraceCheckUtils]: 105: Hoare triple {38517#(and (<= 0 main_~y~0) (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {38524#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 4)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (< main_~c~0 main_~b~0) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:17:01,743 INFO L290 TraceCheckUtils]: 106: Hoare triple {38524#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 4)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 4) (< main_~c~0 main_~b~0) (<= main_~y~0 5) (<= (* main_~b~0 4) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38528#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ (* main_~p~0 main_~x~0 (- 4)) main_~y~0) main_~b~0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (<= (* (* main_~p~0 main_~x~0) 4) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,744 INFO L290 TraceCheckUtils]: 107: Hoare triple {38528#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ (* main_~p~0 main_~x~0 (- 4)) main_~y~0) main_~b~0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (<= (* (* main_~p~0 main_~x~0) 4) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} assume !false; {38528#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ (* main_~p~0 main_~x~0 (- 4)) main_~y~0) main_~b~0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (<= (* (* main_~p~0 main_~x~0) 4) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,745 INFO L290 TraceCheckUtils]: 108: Hoare triple {38528#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ (* main_~p~0 main_~x~0 (- 4)) main_~y~0) main_~b~0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (<= (* (* main_~p~0 main_~x~0) 4) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} assume !(0 != ~b~0); {38535#(and (= main_~r~0 0) (= main_~y~0 (* (* main_~p~0 main_~x~0) 4)) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} is VALID [2022-04-15 15:17:01,747 INFO L272 TraceCheckUtils]: 109: Hoare triple {38535#(and (= main_~r~0 0) (= main_~y~0 (* (* main_~p~0 main_~x~0) 4)) (= main_~s~0 1) (= (+ main_~q~0 (* main_~p~0 4)) 0) (< main_~y~0 (* 5 (* main_~p~0 main_~x~0))) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~x~0 (* main_~p~0 main_~x~0)) (<= main_~y~0 5))} 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)); {38539#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:17:01,748 INFO L290 TraceCheckUtils]: 110: Hoare triple {38539#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38543#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:17:01,748 INFO L290 TraceCheckUtils]: 111: Hoare triple {38543#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38190#false} is VALID [2022-04-15 15:17:01,748 INFO L290 TraceCheckUtils]: 112: Hoare triple {38190#false} assume !false; {38190#false} is VALID [2022-04-15 15:17:01,749 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 106 proven. 63 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-04-15 15:17:01,749 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:18:02,787 INFO L290 TraceCheckUtils]: 112: Hoare triple {38190#false} assume !false; {38190#false} is VALID [2022-04-15 15:18:02,788 INFO L290 TraceCheckUtils]: 111: Hoare triple {38543#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38190#false} is VALID [2022-04-15 15:18:02,788 INFO L290 TraceCheckUtils]: 110: Hoare triple {38539#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38543#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:02,789 INFO L272 TraceCheckUtils]: 109: Hoare triple {38559#(= (+ (* 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)); {38539#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:18:02,789 INFO L290 TraceCheckUtils]: 108: Hoare triple {38563#(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); {38559#(= (+ (* 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 15:18:02,789 INFO L290 TraceCheckUtils]: 107: Hoare triple {38563#(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; {38563#(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 15:18:02,945 INFO L290 TraceCheckUtils]: 106: Hoare triple {38570#(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; {38563#(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 15:18:02,946 INFO L290 TraceCheckUtils]: 105: Hoare triple {38574#(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); {38570#(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 15:18:02,946 INFO L290 TraceCheckUtils]: 104: Hoare triple {38574#(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; {38574#(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 15:18:03,578 INFO L290 TraceCheckUtils]: 103: Hoare triple {38581#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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; {38574#(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 15:18:03,579 INFO L290 TraceCheckUtils]: 102: Hoare triple {38581#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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); {38581#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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 15:18:03,580 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {38581#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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 15:18:03,580 INFO L290 TraceCheckUtils]: 100: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,581 INFO L290 TraceCheckUtils]: 99: Hoare triple {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,581 INFO L290 TraceCheckUtils]: 98: Hoare triple {38189#true} ~cond := #in~cond; {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:18:03,581 INFO L272 TraceCheckUtils]: 97: Hoare triple {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,582 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38189#true} {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:18:03,582 INFO L290 TraceCheckUtils]: 95: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,582 INFO L290 TraceCheckUtils]: 94: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,582 INFO L290 TraceCheckUtils]: 93: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,582 INFO L272 TraceCheckUtils]: 92: Hoare triple {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,583 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38620#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~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; {38588#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:18:03,583 INFO L290 TraceCheckUtils]: 90: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,584 INFO L290 TraceCheckUtils]: 89: Hoare triple {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,584 INFO L290 TraceCheckUtils]: 88: Hoare triple {38189#true} ~cond := #in~cond; {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:18:03,584 INFO L272 TraceCheckUtils]: 87: Hoare triple {38620#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~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)); {38189#true} is VALID [2022-04-15 15:18:03,585 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} {38636#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {38620#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~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 15:18:03,585 INFO L290 TraceCheckUtils]: 85: Hoare triple {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,586 INFO L290 TraceCheckUtils]: 84: Hoare triple {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {38368#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:03,586 INFO L290 TraceCheckUtils]: 83: Hoare triple {38189#true} ~cond := #in~cond; {38598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:18:03,586 INFO L272 TraceCheckUtils]: 82: Hoare triple {38636#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,587 INFO L290 TraceCheckUtils]: 81: Hoare triple {38636#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {38636#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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)))) (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 15:18:03,703 INFO L290 TraceCheckUtils]: 80: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38636#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (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)))) (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 15:18:03,704 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {38189#true} {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #108#return; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,705 INFO L290 TraceCheckUtils]: 77: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,705 INFO L290 TraceCheckUtils]: 76: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,705 INFO L272 TraceCheckUtils]: 75: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,706 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {38189#true} {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #106#return; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,706 INFO L290 TraceCheckUtils]: 73: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,706 INFO L290 TraceCheckUtils]: 72: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,706 INFO L290 TraceCheckUtils]: 71: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,706 INFO L272 TraceCheckUtils]: 70: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,707 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {38189#true} {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #104#return; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,707 INFO L290 TraceCheckUtils]: 68: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,707 INFO L290 TraceCheckUtils]: 67: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,707 INFO L290 TraceCheckUtils]: 66: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,707 INFO L272 TraceCheckUtils]: 65: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,708 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38189#true} {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} #102#return; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,708 INFO L290 TraceCheckUtils]: 63: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,708 INFO L290 TraceCheckUtils]: 62: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,708 INFO L290 TraceCheckUtils]: 61: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,708 INFO L272 TraceCheckUtils]: 60: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,709 INFO L290 TraceCheckUtils]: 59: Hoare triple {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} assume !false; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,729 INFO L290 TraceCheckUtils]: 58: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38655#(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_~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_~v~0 2) main_~b~0) main_~c~0) (not (= (* 2 (* main_~d~0 main_~b~0)) (* main_~v~0 2))))} is VALID [2022-04-15 15:18:03,730 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {38189#true} {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} #108#return; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,731 INFO L290 TraceCheckUtils]: 56: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,731 INFO L290 TraceCheckUtils]: 55: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,731 INFO L290 TraceCheckUtils]: 54: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,731 INFO L272 TraceCheckUtils]: 53: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,732 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {38189#true} {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} #106#return; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,732 INFO L290 TraceCheckUtils]: 51: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,732 INFO L290 TraceCheckUtils]: 50: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,732 INFO L290 TraceCheckUtils]: 49: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,732 INFO L272 TraceCheckUtils]: 48: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,733 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {38189#true} {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} #104#return; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,733 INFO L290 TraceCheckUtils]: 46: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,733 INFO L290 TraceCheckUtils]: 44: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,733 INFO L272 TraceCheckUtils]: 43: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,734 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {38189#true} {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} #102#return; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,734 INFO L290 TraceCheckUtils]: 41: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,734 INFO L290 TraceCheckUtils]: 40: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,734 INFO L290 TraceCheckUtils]: 39: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,734 INFO L272 TraceCheckUtils]: 38: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,735 INFO L290 TraceCheckUtils]: 37: Hoare triple {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} assume !false; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {38789#(or (<= (* 5 main_~b~0) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 2)) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~q~0 main_~x~0 2)))) (not (= main_~c~0 (* main_~b~0 4))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {38722#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 (* main_~d~0 2))) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~q~0 main_~x~0 (* main_~d~0 2))) (* 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_~v~0 2) (* main_~d~0 main_~b~0 2))) (<= (+ main_~b~0 (* (* main_~d~0 main_~b~0) 4)) main_~c~0) (not (= main_~c~0 (* (* main_~d~0 main_~b~0 2) 2))))} is VALID [2022-04-15 15:18:03,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {38789#(or (<= (* 5 main_~b~0) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 2)) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~q~0 main_~x~0 2)))) (not (= main_~c~0 (* main_~b~0 4))))} assume !false; {38789#(or (<= (* 5 main_~b~0) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 2)) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~q~0 main_~x~0 2)))) (not (= main_~c~0 (* main_~b~0 4))))} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 34: Hoare triple {38189#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38789#(or (<= (* 5 main_~b~0) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 2)) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~q~0 main_~x~0 2)))) (not (= main_~c~0 (* main_~b~0 4))))} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 33: Hoare triple {38189#true} assume !false; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 32: Hoare triple {38189#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; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {38189#true} assume !(~c~0 >= ~b~0); {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {38189#true} assume !false; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {38189#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {38189#true} assume !false; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {38189#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38189#true} is VALID [2022-04-15 15:18:03,738 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38189#true} {38189#true} #100#return; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L272 TraceCheckUtils]: 22: Hoare triple {38189#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38189#true} {38189#true} #98#return; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 18: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L272 TraceCheckUtils]: 17: Hoare triple {38189#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38189#true} {38189#true} #96#return; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L272 TraceCheckUtils]: 12: Hoare triple {38189#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {38189#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38189#true} {38189#true} #94#return; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {38189#true} assume !(0 == ~cond); {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {38189#true} ~cond := #in~cond; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {38189#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {38189#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; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {38189#true} call #t~ret6 := main(); {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38189#true} {38189#true} #112#return; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {38189#true} assume true; {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {38189#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); {38189#true} is VALID [2022-04-15 15:18:03,740 INFO L272 TraceCheckUtils]: 0: Hoare triple {38189#true} call ULTIMATE.init(); {38189#true} is VALID [2022-04-15 15:18:03,741 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 105 proven. 29 refuted. 0 times theorem prover too weak. 209 trivial. 0 not checked. [2022-04-15 15:18:03,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:18:03,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [24573649] [2022-04-15 15:18:03,741 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:18:03,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1630474904] [2022-04-15 15:18:03,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1630474904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:18:03,741 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:18:03,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 17] total 34 [2022-04-15 15:18:03,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:18:03,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [489448238] [2022-04-15 15:18:03,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [489448238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:18:03,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:18:03,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 15:18:03,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1416196238] [2022-04-15 15:18:03,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:18:03,742 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 113 [2022-04-15 15:18:03,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:18:03,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:18:03,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:18:03,833 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 15:18:03,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:18:03,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 15:18:03,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=940, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 15:18:03,834 INFO L87 Difference]: Start difference. First operand 528 states and 729 transitions. Second operand has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:18:11,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:18:11,173 INFO L93 Difference]: Finished difference Result 644 states and 877 transitions. [2022-04-15 15:18:11,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 15:18:11,174 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 113 [2022-04-15 15:18:11,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:18:11,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:18:11,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 15:18:11,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:18:11,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 15:18:11,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 195 transitions. [2022-04-15 15:18:11,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:18:11,466 INFO L225 Difference]: With dead ends: 644 [2022-04-15 15:18:11,466 INFO L226 Difference]: Without dead ends: 576 [2022-04-15 15:18:11,467 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 232 GetRequests, 189 SyntacticMatches, 4 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 478 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=258, Invalid=1382, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 15:18:11,467 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 85 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 1542 mSolverCounterSat, 85 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 394 SdHoareTripleChecker+Invalid, 1627 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 85 IncrementalHoareTripleChecker+Valid, 1542 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:18:11,468 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [103 Valid, 394 Invalid, 1627 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [85 Valid, 1542 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-15 15:18:11,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 576 states. [2022-04-15 15:18:13,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 576 to 561. [2022-04-15 15:18:13,276 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:18:13,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 576 states. Second operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-04-15 15:18:13,277 INFO L74 IsIncluded]: Start isIncluded. First operand 576 states. Second operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-04-15 15:18:13,277 INFO L87 Difference]: Start difference. First operand 576 states. Second operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-04-15 15:18:13,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:18:13,297 INFO L93 Difference]: Finished difference Result 576 states and 789 transitions. [2022-04-15 15:18:13,297 INFO L276 IsEmpty]: Start isEmpty. Operand 576 states and 789 transitions. [2022-04-15 15:18:13,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:18:13,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:18:13,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 576 states. [2022-04-15 15:18:13,300 INFO L87 Difference]: Start difference. First operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 576 states. [2022-04-15 15:18:13,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:18:13,320 INFO L93 Difference]: Finished difference Result 576 states and 789 transitions. [2022-04-15 15:18:13,320 INFO L276 IsEmpty]: Start isEmpty. Operand 576 states and 789 transitions. [2022-04-15 15:18:13,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:18:13,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:18:13,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:18:13,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:18:13,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 561 states, 324 states have (on average 1.191358024691358) internal successors, (386), 325 states have internal predecessors, (386), 195 states have call successors, (195), 42 states have call predecessors, (195), 41 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-04-15 15:18:13,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 561 states to 561 states and 774 transitions. [2022-04-15 15:18:13,347 INFO L78 Accepts]: Start accepts. Automaton has 561 states and 774 transitions. Word has length 113 [2022-04-15 15:18:13,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:18:13,347 INFO L478 AbstractCegarLoop]: Abstraction has 561 states and 774 transitions. [2022-04-15 15:18:13,347 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.05) internal successors, (41), 19 states have internal predecessors, (41), 8 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:18:13,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 561 states and 774 transitions. [2022-04-15 15:18:15,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 774 edges. 774 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:18:15,700 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 774 transitions. [2022-04-15 15:18:15,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 15:18:15,701 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:18:15,701 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:18:15,717 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-15 15:18:15,901 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 15:18:15,901 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:18:15,902 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:18:15,902 INFO L85 PathProgramCache]: Analyzing trace with hash 1938711081, now seen corresponding path program 11 times [2022-04-15 15:18:15,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:18:15,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1649278865] [2022-04-15 15:18:15,902 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:18:15,902 INFO L85 PathProgramCache]: Analyzing trace with hash 1938711081, now seen corresponding path program 12 times [2022-04-15 15:18:15,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:18:15,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [157334951] [2022-04-15 15:18:15,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:18:15,903 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:18:15,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:18:15,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [242599932] [2022-04-15 15:18:15,917 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:18:15,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:18:15,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:18:15,918 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:18:15,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 15:18:16,010 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-15 15:18:16,010 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:18:16,012 INFO L263 TraceCheckSpWp]: Trace formula consists of 289 conjuncts, 104 conjunts are in the unsatisfiable core [2022-04-15 15:18:16,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:18:16,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:18:18,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {42476#true} call ULTIMATE.init(); {42476#true} is VALID [2022-04-15 15:18:18,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {42476#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); {42476#true} is VALID [2022-04-15 15:18:18,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42476#true} {42476#true} #112#return; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {42476#true} call #t~ret6 := main(); {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {42476#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; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L272 TraceCheckUtils]: 6: Hoare triple {42476#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42476#true} {42476#true} #94#return; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {42476#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {42476#true} is VALID [2022-04-15 15:18:18,258 INFO L272 TraceCheckUtils]: 12: Hoare triple {42476#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {42476#true} ~cond := #in~cond; {42520#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:18:18,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {42520#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {42524#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:18:18,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {42524#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {42524#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:18:18,260 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42524#(not (= |assume_abort_if_not_#in~cond| 0))} {42476#true} #96#return; {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,260 INFO L272 TraceCheckUtils]: 17: Hoare triple {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,260 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42476#true} {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,260 INFO L272 TraceCheckUtils]: 22: Hoare triple {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,267 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {42476#true} {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #100#return; {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {42531#(and (<= 0 main_~y~0) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {42565#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,268 INFO L290 TraceCheckUtils]: 28: Hoare triple {42565#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} assume !false; {42565#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {42565#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,270 INFO L290 TraceCheckUtils]: 32: Hoare triple {42572#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= 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; {42582#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,271 INFO L290 TraceCheckUtils]: 33: Hoare triple {42582#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42582#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {42582#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {42589#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {42589#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42589#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,273 INFO L290 TraceCheckUtils]: 36: Hoare triple {42589#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 5))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,273 INFO L290 TraceCheckUtils]: 37: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,273 INFO L272 TraceCheckUtils]: 38: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,274 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {42476#true} {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} #102#return; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,274 INFO L272 TraceCheckUtils]: 43: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {42476#true} ~cond := #in~cond; {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:18,275 INFO L290 TraceCheckUtils]: 45: Hoare triple {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,275 INFO L290 TraceCheckUtils]: 46: Hoare triple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,276 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} #104#return; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,276 INFO L272 TraceCheckUtils]: 48: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,276 INFO L290 TraceCheckUtils]: 49: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,276 INFO L290 TraceCheckUtils]: 50: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,276 INFO L290 TraceCheckUtils]: 51: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,277 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {42476#true} {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} #106#return; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,277 INFO L272 TraceCheckUtils]: 53: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,277 INFO L290 TraceCheckUtils]: 54: Hoare triple {42476#true} ~cond := #in~cond; {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:18,278 INFO L290 TraceCheckUtils]: 55: Hoare triple {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,278 INFO L290 TraceCheckUtils]: 56: Hoare triple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,279 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} #108#return; {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,279 INFO L290 TraceCheckUtils]: 58: Hoare triple {42596#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1) (<= main_~y~0 5))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,280 INFO L290 TraceCheckUtils]: 59: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,280 INFO L272 TraceCheckUtils]: 60: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,280 INFO L290 TraceCheckUtils]: 61: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,280 INFO L290 TraceCheckUtils]: 62: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,280 INFO L290 TraceCheckUtils]: 63: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,281 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {42476#true} {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #102#return; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,281 INFO L272 TraceCheckUtils]: 65: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,281 INFO L290 TraceCheckUtils]: 66: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,281 INFO L290 TraceCheckUtils]: 67: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,281 INFO L290 TraceCheckUtils]: 68: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,282 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {42476#true} {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #104#return; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,282 INFO L272 TraceCheckUtils]: 70: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,282 INFO L290 TraceCheckUtils]: 71: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,282 INFO L290 TraceCheckUtils]: 72: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,282 INFO L290 TraceCheckUtils]: 73: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,283 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {42476#true} {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #106#return; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,283 INFO L272 TraceCheckUtils]: 75: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,283 INFO L290 TraceCheckUtils]: 76: Hoare triple {42476#true} ~cond := #in~cond; {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:18,283 INFO L290 TraceCheckUtils]: 77: Hoare triple {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,284 INFO L290 TraceCheckUtils]: 78: Hoare triple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,284 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #108#return; {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,285 INFO L290 TraceCheckUtils]: 80: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !(~c~0 >= 2 * ~v~0); {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,286 INFO L290 TraceCheckUtils]: 81: Hoare triple {42665#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (<= main_~y~0 5))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {42735#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,286 INFO L290 TraceCheckUtils]: 82: Hoare triple {42735#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42735#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,287 INFO L290 TraceCheckUtils]: 83: Hoare triple {42735#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,287 INFO L290 TraceCheckUtils]: 84: Hoare triple {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,287 INFO L272 TraceCheckUtils]: 85: Hoare triple {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,287 INFO L290 TraceCheckUtils]: 86: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,287 INFO L290 TraceCheckUtils]: 87: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,288 INFO L290 TraceCheckUtils]: 88: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,288 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {42476#true} {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #102#return; {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,288 INFO L272 TraceCheckUtils]: 90: Hoare triple {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,288 INFO L290 TraceCheckUtils]: 91: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,288 INFO L290 TraceCheckUtils]: 92: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,289 INFO L290 TraceCheckUtils]: 93: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,289 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {42476#true} {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #104#return; {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,289 INFO L272 TraceCheckUtils]: 95: Hoare triple {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,290 INFO L290 TraceCheckUtils]: 96: Hoare triple {42476#true} ~cond := #in~cond; {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:18,290 INFO L290 TraceCheckUtils]: 97: Hoare triple {42621#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,290 INFO L290 TraceCheckUtils]: 98: Hoare triple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:18:18,291 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {42625#(not (= |__VERIFIER_assert_#in~cond| 0))} {42742#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #106#return; {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,291 INFO L272 TraceCheckUtils]: 100: Hoare triple {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {42476#true} is VALID [2022-04-15 15:18:18,292 INFO L290 TraceCheckUtils]: 101: Hoare triple {42476#true} ~cond := #in~cond; {42476#true} is VALID [2022-04-15 15:18:18,292 INFO L290 TraceCheckUtils]: 102: Hoare triple {42476#true} assume !(0 == ~cond); {42476#true} is VALID [2022-04-15 15:18:18,292 INFO L290 TraceCheckUtils]: 103: Hoare triple {42476#true} assume true; {42476#true} is VALID [2022-04-15 15:18:18,292 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {42476#true} {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} #108#return; {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,293 INFO L290 TraceCheckUtils]: 105: Hoare triple {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} assume !(~c~0 >= 2 * ~v~0); {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,294 INFO L290 TraceCheckUtils]: 106: Hoare triple {42791#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= main_~y~0 5))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {42813#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,294 INFO L290 TraceCheckUtils]: 107: Hoare triple {42813#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1) (<= main_~y~0 5))} assume !false; {42813#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,295 INFO L290 TraceCheckUtils]: 108: Hoare triple {42813#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1) (<= main_~y~0 5))} assume !(~c~0 >= ~b~0); {42820#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 3) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (< main_~c~0 main_~b~0) (= main_~q~0 1) (<= main_~y~0 5))} is VALID [2022-04-15 15:18:18,297 INFO L290 TraceCheckUtils]: 109: Hoare triple {42820#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 3) (= main_~r~0 1) (= (+ main_~c~0 (* main_~b~0 3)) main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (< main_~c~0 main_~b~0) (= main_~q~0 1) (<= main_~y~0 5))} ~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; {42824#(and (= main_~r~0 0) (= 3 (* (- 1) main_~q~0)) (<= (* main_~a~0 3) main_~y~0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,297 INFO L290 TraceCheckUtils]: 110: Hoare triple {42824#(and (= main_~r~0 0) (= 3 (* (- 1) main_~q~0)) (<= (* main_~a~0 3) main_~y~0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} assume !false; {42824#(and (= main_~r~0 0) (= 3 (* (- 1) main_~q~0)) (<= (* main_~a~0 3) main_~y~0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,298 INFO L290 TraceCheckUtils]: 111: Hoare triple {42824#(and (= main_~r~0 0) (= 3 (* (- 1) main_~q~0)) (<= (* main_~a~0 3) main_~y~0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} assume !(0 != ~b~0); {42831#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= (* main_~a~0 3) main_~y~0) (= (+ main_~q~0 3) 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= main_~p~0 1))} is VALID [2022-04-15 15:18:18,298 INFO L272 TraceCheckUtils]: 112: Hoare triple {42831#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 4)) (= main_~s~0 1) (= (* main_~a~0 3) main_~y~0) (= (+ main_~q~0 3) 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5) (= 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)); {42835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:18:18,299 INFO L290 TraceCheckUtils]: 113: Hoare triple {42835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {42839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:18:18,299 INFO L290 TraceCheckUtils]: 114: Hoare triple {42839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {42477#false} is VALID [2022-04-15 15:18:18,299 INFO L290 TraceCheckUtils]: 115: Hoare triple {42477#false} assume !false; {42477#false} is VALID [2022-04-15 15:18:18,300 INFO L134 CoverageAnalysis]: Checked inductivity of 350 backedges. 68 proven. 99 refuted. 0 times theorem prover too weak. 183 trivial. 0 not checked. [2022-04-15 15:18:18,300 INFO L328 TraceCheckSpWp]: Computing backward predicates...