/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/egcd-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:14:42,716 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:14:42,717 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:14:42,742 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:14:42,742 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:14:42,743 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:14:42,749 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:14:42,753 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:14:42,754 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:14:42,759 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:14:42,760 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:14:42,761 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:14:42,761 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:14:42,763 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:14:42,763 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:14:42,764 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:14:42,765 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:14:42,765 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:14:42,768 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:14:42,769 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:14:42,770 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:14:42,772 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:14:42,772 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:14:42,773 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:14:42,774 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:14:42,778 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:14:42,778 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:14:42,778 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:14:42,779 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:14:42,779 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:14:42,780 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:14:42,780 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:14:42,780 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:14:42,781 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:14:42,781 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:14:42,781 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:14:42,782 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:14:42,782 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:14:42,782 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:14:42,782 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:14:42,783 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:14:42,783 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:14:42,784 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:14:42,790 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:14:42,790 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:14:42,791 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:14:42,791 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:14:42,791 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:14:42,791 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:14:42,792 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:14:42,792 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:14:42,793 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:14:42,793 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:14:42,794 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-28 12:14:42,980 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:14:43,003 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:14:43,004 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:14:43,005 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:14:43,006 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:14:43,008 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c [2022-04-28 12:14:43,053 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/77c3ce6ea/1a670662c49942d69b474514cbc9e84b/FLAG67647b7e3 [2022-04-28 12:14:43,359 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:14:43,359 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c [2022-04-28 12:14:43,363 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/77c3ce6ea/1a670662c49942d69b474514cbc9e84b/FLAG67647b7e3 [2022-04-28 12:14:43,809 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/77c3ce6ea/1a670662c49942d69b474514cbc9e84b [2022-04-28 12:14:43,811 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:14:43,812 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:14:43,813 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:14:43,813 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:14:43,816 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:14:43,816 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:14:43" (1/1) ... [2022-04-28 12:14:43,817 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ff5cd79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:43, skipping insertion in model container [2022-04-28 12:14:43,818 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:14:43" (1/1) ... [2022-04-28 12:14:43,822 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:14:43,830 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:14:43,950 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c[489,502] [2022-04-28 12:14:43,972 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:14:43,986 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:14:43,995 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c[489,502] [2022-04-28 12:14:44,006 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:14:44,014 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:14:44,014 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44 WrapperNode [2022-04-28 12:14:44,015 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:14:44,015 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:14:44,015 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:14:44,015 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:14:44,023 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,023 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,028 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,028 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,041 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,043 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,044 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,045 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:14:44,046 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:14:44,046 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:14:44,046 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:14:44,051 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (1/1) ... [2022-04-28 12:14:44,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:14:44,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:44,081 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-28 12:14:44,086 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-28 12:14:44,105 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:14:44,106 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:14:44,109 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:14:44,109 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:14:44,109 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:14:44,109 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:14:44,109 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:14:44,110 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:14:44,187 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:14:44,188 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:14:44,374 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:14:44,380 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:14:44,380 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:14:44,381 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:14:44 BoogieIcfgContainer [2022-04-28 12:14:44,381 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:14:44,382 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:14:44,382 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:14:44,385 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:14:44,385 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:14:43" (1/3) ... [2022-04-28 12:14:44,386 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49ab4cc2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:14:44, skipping insertion in model container [2022-04-28 12:14:44,386 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:44" (2/3) ... [2022-04-28 12:14:44,386 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49ab4cc2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:14:44, skipping insertion in model container [2022-04-28 12:14:44,386 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:14:44" (3/3) ... [2022-04-28 12:14:44,387 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound5.c [2022-04-28 12:14:44,396 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:14:44,396 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:14:44,453 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:14:44,459 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5a5dffbd, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5b01cf8e [2022-04-28 12:14:44,459 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:14:44,470 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:14:44,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:14:44,476 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:44,476 INFO L195 NwaCegarLoop]: 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-28 12:14:44,477 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:44,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:44,482 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-28 12:14:44,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:44,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [345064885] [2022-04-28 12:14:44,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:44,502 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-28 12:14:44,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:44,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281045802] [2022-04-28 12:14:44,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:44,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:44,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:14:44,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:14:44,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:14:44,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:14:44,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:14:44,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,707 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:14:44,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:14:44,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,714 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:14:44,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:14:44,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:14:44,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:14:44,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:44,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:14:44,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:14:44,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:14:44,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:14:44,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:14:44,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 12:14:44,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-28 12:14:44,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:44,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:14:44,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-28 12:14:44,729 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:44,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,730 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,730 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,730 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:14:44,730 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:44,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,731 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:14:44,732 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:44,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:44,732 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:44,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:44,733 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:14:44,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-28 12:14:44,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-28 12:14:44,736 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-28 12:14:44,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:14:44,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:14:44,737 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:14:44,738 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-28 12:14:44,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:44,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1281045802] [2022-04-28 12:14:44,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1281045802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:44,739 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:44,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:14:44,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:44,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [345064885] [2022-04-28 12:14:44,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [345064885] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:44,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:44,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:14:44,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1128856951] [2022-04-28 12:14:44,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:44,748 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-28 12:14:44,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:44,752 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-28 12:14:44,788 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-28 12:14:44,788 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:14:44,789 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:44,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:14:44,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:14:44,811 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) 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-28 12:14:45,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:45,008 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-28 12:14:45,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:14:45,008 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-28 12:14:45,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:45,009 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-28 12:14:45,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:14:45,016 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-28 12:14:45,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:14:45,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-28 12:14:45,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:45,152 INFO L225 Difference]: With dead ends: 67 [2022-04-28 12:14:45,152 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:14:45,154 INFO L412 NwaCegarLoop]: 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-28 12:14:45,157 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:45,158 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:45,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:14:45,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:14:45,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:45,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:45,183 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:45,183 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:45,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:45,186 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:45,186 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:45,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:45,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:45,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:45,187 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:45,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:45,190 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:45,190 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:45,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:45,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:45,191 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:45,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:45,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:45,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:14:45,193 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-28 12:14:45,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:45,194 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:14:45,194 INFO L496 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-28 12:14:45,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:14:45,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:45,236 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:45,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:14:45,238 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:45,238 INFO L195 NwaCegarLoop]: 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-28 12:14:45,238 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:14:45,238 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:45,239 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:45,239 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-28 12:14:45,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:45,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1914842766] [2022-04-28 12:14:45,240 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:45,240 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-28 12:14:45,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:45,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846523340] [2022-04-28 12:14:45,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:45,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:45,281 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:45,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [396753623] [2022-04-28 12:14:45,282 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:45,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:45,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:45,295 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-28 12:14:45,296 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-28 12:14:45,338 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:14:45,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:45,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:45,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:45,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:46,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 12:14:46,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-28 12:14:46,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:46,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-28 12:14:46,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 12:14:46,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-28 12:14:46,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:46,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:46,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:46,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:46,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-28 12:14:46,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 12:14:46,016 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:46,017 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-28 12:14:46,017 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:46,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:46,017 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-28 12:14:46,018 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:46,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:46,018 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:46,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:46,018 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-28 12:14:46,019 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:46,019 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:46,020 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:46,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:46,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-28 12:14:46,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 12:14:46,021 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-28 12:14:46,021 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:46,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:46,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846523340] [2022-04-28 12:14:46,022 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:46,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [396753623] [2022-04-28 12:14:46,022 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [396753623] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:46,022 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:46,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:46,023 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:46,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1914842766] [2022-04-28 12:14:46,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1914842766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:46,023 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:46,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:46,023 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1066556806] [2022-04-28 12:14:46,023 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:46,024 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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 33 [2022-04-28 12:14:46,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:46,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-28 12:14:46,044 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-28 12:14:46,044 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:46,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:46,045 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:46,045 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:46,045 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-28 12:14:46,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:46,233 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-28 12:14:46,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:46,233 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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 33 [2022-04-28 12:14:46,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:46,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-28 12:14:46,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:46,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-28 12:14:46,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:46,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:46,292 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-28 12:14:46,295 INFO L225 Difference]: With dead ends: 48 [2022-04-28 12:14:46,295 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:14:46,296 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 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-28 12:14:46,297 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:46,300 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:46,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:14:46,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-28 12:14:46,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:46,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:46,316 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:46,317 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:46,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:46,323 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:46,323 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:46,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:46,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:46,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:46,331 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:46,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:46,337 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:46,337 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:46,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:46,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:46,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:46,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:46,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:46,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-28 12:14:46,342 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-28 12:14:46,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:46,343 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-28 12:14:46,343 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-28 12:14:46,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-28 12:14:46,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:46,401 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:14:46,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:14:46,402 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:46,402 INFO L195 NwaCegarLoop]: 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] [2022-04-28 12:14:46,421 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-28 12:14:46,623 WARN L477 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-28 12:14:46,624 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:46,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:46,624 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-28 12:14:46,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:46,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2133154424] [2022-04-28 12:14:46,625 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:46,625 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-28 12:14:46,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:46,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [783345439] [2022-04-28 12:14:46,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:46,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:46,640 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:46,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1440604757] [2022-04-28 12:14:46,640 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:46,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:46,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:46,641 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-28 12:14:46,642 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-28 12:14:46,678 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:46,678 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:46,679 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:46,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:46,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:50,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-28 12:14:50,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-28 12:14:50,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-28 12:14:50,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-28 12:14:50,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-28 12:14:50,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:50,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:50,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:50,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:50,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:50,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-28 12:14:50,860 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,861 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-28 12:14:50,861 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:50,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,861 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-28 12:14:50,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:50,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:50,863 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:50,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:50,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:50,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:50,864 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:50,865 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:50,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:50,866 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-28 12:14:50,866 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-28 12:14:50,866 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:14:50,866 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:50,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:50,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [783345439] [2022-04-28 12:14:50,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:50,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1440604757] [2022-04-28 12:14:50,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1440604757] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:50,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:50,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:50,867 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:50,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2133154424] [2022-04-28 12:14:50,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2133154424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:50,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:50,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:50,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1033972784] [2022-04-28 12:14:50,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:50,868 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 38 [2022-04-28 12:14:50,868 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:50,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:50,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:50,891 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:50,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:50,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:50,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:50,892 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:51,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:51,077 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-28 12:14:51,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:51,078 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 38 [2022-04-28 12:14:51,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:51,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:51,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:51,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:51,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:51,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:51,132 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-28 12:14:51,134 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:14:51,134 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:14:51,135 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:51,139 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:51,140 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:51,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:14:51,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 12:14:51,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:51,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:51,161 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:51,162 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:51,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:51,165 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:51,166 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:51,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:51,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:51,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:51,167 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:51,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:51,171 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:51,171 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:51,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:51,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:51,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:51,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:51,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:51,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-28 12:14:51,175 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-28 12:14:51,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:51,177 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-28 12:14:51,177 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:51,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-28 12:14:51,238 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-28 12:14:51,238 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:14:51,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:14:51,240 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:51,240 INFO L195 NwaCegarLoop]: 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] [2022-04-28 12:14:51,257 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 12:14:51,455 WARN L477 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-28 12:14:51,456 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:51,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:51,456 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-28 12:14:51,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:51,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [922996338] [2022-04-28 12:14:51,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:51,457 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-28 12:14:51,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:51,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [417982632] [2022-04-28 12:14:51,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:51,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:51,477 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:51,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1748956245] [2022-04-28 12:14:51,477 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:51,477 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:51,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:51,478 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-28 12:14:51,479 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-28 12:14:51,516 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:51,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:51,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:51,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:51,529 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:53,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,067 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-28 12:14:53,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:53,069 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:53,069 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,069 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,070 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:53,070 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:53,070 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:53,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:53,070 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:53,071 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:53,072 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:53,072 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:53,072 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-28 12:14:53,073 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-28 12:14:53,073 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-28 12:14:53,073 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:53,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:53,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [417982632] [2022-04-28 12:14:53,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:53,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1748956245] [2022-04-28 12:14:53,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1748956245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:53,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:53,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:53,073 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:53,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [922996338] [2022-04-28 12:14:53,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [922996338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:53,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:53,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:53,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [249077756] [2022-04-28 12:14:53,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:53,074 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 43 [2022-04-28 12:14:53,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:53,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:53,097 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:53,097 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:53,097 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:53,097 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:53,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:53,097 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:53,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:53,275 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-28 12:14:53,275 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:53,275 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 43 [2022-04-28 12:14:53,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:53,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:53,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:53,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:53,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:53,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:53,329 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-28 12:14:53,331 INFO L225 Difference]: With dead ends: 74 [2022-04-28 12:14:53,331 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:14:53,332 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 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-28 12:14:53,333 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:53,333 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:53,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:14:53,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 12:14:53,348 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:53,348 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:53,348 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:53,349 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:53,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:53,351 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:53,351 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:53,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:53,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:53,352 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:53,352 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:53,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:53,354 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:53,354 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:53,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:53,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:53,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:53,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:53,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:53,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-28 12:14:53,357 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-28 12:14:53,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:53,358 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-28 12:14:53,358 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:14:53,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-28 12:14:53,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:53,456 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:53,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 12:14:53,456 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:53,456 INFO L195 NwaCegarLoop]: 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] [2022-04-28 12:14:53,475 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:53,672 WARN L477 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-28 12:14:53,674 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:53,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:53,675 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-28 12:14:53,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:53,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2044369923] [2022-04-28 12:14:53,675 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:53,675 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-28 12:14:53,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:53,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2028164917] [2022-04-28 12:14:53,675 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:53,675 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:53,689 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:53,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1974757567] [2022-04-28 12:14:53,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:53,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:53,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:53,690 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-28 12:14:53,691 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-28 12:14:53,729 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:53,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:53,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:14:53,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:53,740 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:53,842 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-28 12:14:53,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-28 12:14:53,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-28 12:14:53,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-28 12:14:53,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-28 12:14:53,844 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:53,847 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-28 12:14:53,848 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:14:53,848 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:53,849 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:53,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-28 12:14:53,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-28 12:14:53,849 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-28 12:14:53,849 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:53,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:53,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2028164917] [2022-04-28 12:14:53,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:53,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1974757567] [2022-04-28 12:14:53,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1974757567] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:53,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:53,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:53,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:53,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2044369923] [2022-04-28 12:14:53,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2044369923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:53,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:53,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:53,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1250276729] [2022-04-28 12:14:53,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:53,851 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:53,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:53,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:53,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:53,873 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:53,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:53,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:53,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:53,874 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:54,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,038 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 12:14:54,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:54,038 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:54,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:54,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:54,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:54,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:54,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:54,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:14:54,071 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-28 12:14:54,073 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:14:54,073 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:14:54,073 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 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-28 12:14:54,074 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:54,074 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:54,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:14:54,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:14:54,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:54,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:54,095 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:54,095 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:54,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,097 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:54,097 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:54,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:54,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:54,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:54,098 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:54,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,100 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:54,100 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:54,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:54,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:54,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:54,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:54,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:54,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-28 12:14:54,103 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-28 12:14:54,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:54,104 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-28 12:14:54,104 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:54,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-28 12:14:54,202 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-28 12:14:54,202 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:54,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:14:54,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:54,203 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 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, 1, 1, 1] [2022-04-28 12:14:54,222 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-28 12:14:54,419 WARN L477 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-28 12:14:54,419 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:54,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:54,420 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-28 12:14:54,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:54,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2144000820] [2022-04-28 12:14:54,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:54,420 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-28 12:14:54,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:54,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1972283364] [2022-04-28 12:14:54,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:54,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:54,435 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:54,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [443870280] [2022-04-28 12:14:54,435 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:54,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:54,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:54,436 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-28 12:14:54,437 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-28 12:14:54,476 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:54,477 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:54,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:14:54,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:54,486 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:58,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-28 12:14:58,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-28 12:14:58,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,678 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,679 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-28 12:14:58,679 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,679 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,680 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,680 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,680 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,680 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,680 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,680 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,682 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,682 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:58,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:58,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:58,682 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:58,691 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,691 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,692 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,692 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:58,693 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:58,693 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:58,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-28 12:14:58,694 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-28 12:14:58,694 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 12:14:58,694 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:58,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:58,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1972283364] [2022-04-28 12:14:58,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:58,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [443870280] [2022-04-28 12:14:58,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [443870280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:58,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:58,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:58,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:58,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2144000820] [2022-04-28 12:14:58,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2144000820] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:58,695 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:58,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:58,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1553457285] [2022-04-28 12:14:58,695 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:58,695 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 51 [2022-04-28 12:14:58,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:58,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 12:14:58,721 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-28 12:14:58,721 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:58,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:58,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:58,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:58,721 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 12:14:58,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:58,883 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-28 12:14:58,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:58,883 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 51 [2022-04-28 12:14:58,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:58,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 12:14:58,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:58,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 12:14:58,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:58,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:14:58,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:58,939 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:14:58,939 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 12:14:58,940 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:58,941 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:58,941 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:58,942 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 12:14:58,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-28 12:14:58,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:58,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:58,974 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:58,974 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:58,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:58,977 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:58,977 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:58,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:58,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:58,978 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:58,978 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:58,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:58,980 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:58,980 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:58,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:58,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:58,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:58,981 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:58,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:58,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-28 12:14:58,984 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-28 12:14:58,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:58,984 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-28 12:14:58,984 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 12:14:58,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-28 12:14:59,091 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-28 12:14:59,091 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-28 12:14:59,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 12:14:59,092 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:59,092 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:59,119 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:59,301 WARN L477 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-28 12:14:59,302 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:59,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:59,302 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-28 12:14:59,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:59,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1843634606] [2022-04-28 12:14:59,303 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:59,303 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-28 12:14:59,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:59,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231462657] [2022-04-28 12:14:59,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:59,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:59,314 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:59,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1407566479] [2022-04-28 12:14:59,314 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:59,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:59,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:59,315 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-28 12:14:59,316 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-28 12:14:59,350 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:59,350 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:59,350 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:14:59,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:59,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:59,490 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:14:59,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:14:59,492 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:59,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:59,494 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:59,499 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:59,499 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,499 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,499 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,499 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,500 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:59,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:59,500 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:59,500 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:59,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:59,500 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:59,501 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:59,502 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:59,502 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:59,502 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:14:59,502 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:14:59,504 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:14:59,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:18,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:15:18,188 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:15:18,189 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:18,189 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:18,190 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:18,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,190 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,190 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,191 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:18,191 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:18,191 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,191 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,191 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,192 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:18,192 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:18,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:15:18,193 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,193 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:15:18,195 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:15:18,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:18,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231462657] [2022-04-28 12:15:18,195 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:18,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1407566479] [2022-04-28 12:15:18,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1407566479] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:18,196 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:18,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:15:18,196 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:18,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1843634606] [2022-04-28 12:15:18,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1843634606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:18,196 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:18,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:15:18,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [105269480] [2022-04-28 12:15:18,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:18,197 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:15:18,197 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:18,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:18,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:18,219 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:15:18,219 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:18,219 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:15:18,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:15:18,219 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:18,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:18,575 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-28 12:15:18,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:15:18,575 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:15:18,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:18,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:18,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:15:18,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:18,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:15:18,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-28 12:15:18,613 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-28 12:15:18,614 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:15:18,615 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 12:15:18,615 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:15:18,615 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:18,615 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:18,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 12:15:18,658 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 12:15:18,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:18,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:18,659 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:18,659 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:18,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:18,662 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:15:18,662 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:18,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:18,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:18,663 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:15:18,663 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:15:18,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:18,665 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:15:18,665 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:18,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:18,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:18,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:18,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:18,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:18,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-28 12:15:18,668 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-28 12:15:18,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:18,668 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-28 12:15:18,668 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:18,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-28 12:15:18,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:18,781 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:18,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:15:18,781 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:18,781 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 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] [2022-04-28 12:15:18,797 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-28 12:15:18,982 WARN L477 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-28 12:15:18,982 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:18,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:18,982 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-28 12:15:18,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:18,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [544328161] [2022-04-28 12:15:18,983 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:18,983 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-28 12:15:18,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:18,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368908854] [2022-04-28 12:15:18,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:18,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:18,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:18,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1365604385] [2022-04-28 12:15:18,994 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:15:18,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:18,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:18,995 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-28 12:15:18,996 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-28 12:15:19,033 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:15:19,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:19,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 12:15:19,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:19,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:19,325 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:15:19,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 12:15:19,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,326 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:19,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:19,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:19,328 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} {3792#true} #72#return; {3877#(<= 1 main_~y~0)} is VALID [2022-04-28 12:15:19,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {3877#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,329 INFO L290 TraceCheckUtils]: 28: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,329 INFO L272 TraceCheckUtils]: 29: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,330 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,330 INFO L272 TraceCheckUtils]: 34: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,330 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,330 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,331 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,331 INFO L272 TraceCheckUtils]: 39: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,331 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,331 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,332 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,332 INFO L290 TraceCheckUtils]: 44: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:19,333 INFO L290 TraceCheckUtils]: 45: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:19,333 INFO L290 TraceCheckUtils]: 46: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !false; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:19,334 INFO L272 TraceCheckUtils]: 47: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,334 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,334 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,334 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,334 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #74#return; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:19,335 INFO L272 TraceCheckUtils]: 52: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:19,335 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:19,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:15:19,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:15:19,336 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 17 proven. 3 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:15:19,336 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:19,584 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:15:19,585 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:15:19,585 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:19,586 INFO L272 TraceCheckUtils]: 52: Hoare triple {3978#(= 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)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:19,587 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:19,587 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,587 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,587 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,587 INFO L272 TraceCheckUtils]: 47: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,587 INFO L290 TraceCheckUtils]: 46: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:19,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:19,682 INFO L290 TraceCheckUtils]: 44: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,682 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,683 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,683 INFO L272 TraceCheckUtils]: 39: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,683 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,684 INFO L272 TraceCheckUtils]: 34: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,685 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,685 INFO L272 TraceCheckUtils]: 29: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !false; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:15:19,686 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:15:19,687 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:15:19,688 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:15:19,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:19,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368908854] [2022-04-28 12:15:19,688 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:19,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365604385] [2022-04-28 12:15:19,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1365604385] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:19,688 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:19,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-28 12:15:19,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:19,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [544328161] [2022-04-28 12:15:19,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [544328161] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:19,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:19,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:15:19,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [508572176] [2022-04-28 12:15:19,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:19,689 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:15:19,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:19,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:19,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:19,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:15:19,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:19,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:15:19,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:15:19,721 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:20,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:20,621 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-28 12:15:20,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:15:20,622 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:15:20,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:20,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:20,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 12:15:20,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:20,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 12:15:20,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 75 transitions. [2022-04-28 12:15:20,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:20,691 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:15:20,691 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 12:15:20,691 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:15:20,691 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 19 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:20,692 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 184 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:15:20,692 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 12:15:20,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-28 12:15:20,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:20,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:20,765 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:20,766 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:20,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:20,769 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:15:20,769 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:15:20,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:20,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:20,769 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:15:20,770 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:15:20,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:20,772 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:15:20,773 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:15:20,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:20,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:20,773 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:20,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:20,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:20,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-28 12:15:20,786 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-28 12:15:20,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:20,786 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-28 12:15:20,787 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:20,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-28 12:15:20,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:20,929 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-28 12:15:20,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:15:20,929 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:20,929 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 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-28 12:15:20,953 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-28 12:15:21,130 WARN L477 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-28 12:15:21,130 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:21,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:21,130 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-28 12:15:21,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:21,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [568640563] [2022-04-28 12:15:21,131 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:21,131 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-28 12:15:21,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:21,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2080857704] [2022-04-28 12:15:21,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:21,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:21,144 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:21,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1357599546] [2022-04-28 12:15:21,145 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:15:21,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:21,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:21,158 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-28 12:15:21,159 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-28 12:15:21,204 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:15:21,204 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:21,205 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:15:21,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:21,215 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:21,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 12:15:21,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 12:15:21,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 12:15:21,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 12:15:21,486 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {4920#(and (= main_~r~0 0) (= 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; {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,487 INFO L272 TraceCheckUtils]: 29: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,487 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,488 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,488 INFO L272 TraceCheckUtils]: 34: Hoare triple {4920#(and (= main_~r~0 0) (= 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)); {4834#true} is VALID [2022-04-28 12:15:21,488 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,488 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,489 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,489 INFO L272 TraceCheckUtils]: 39: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,489 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,489 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,489 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,490 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,491 INFO L290 TraceCheckUtils]: 44: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4920#(and (= main_~r~0 0) (= 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-28 12:15:21,491 INFO L290 TraceCheckUtils]: 45: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:21,492 INFO L290 TraceCheckUtils]: 46: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:21,492 INFO L272 TraceCheckUtils]: 47: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,492 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,492 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,492 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,493 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:21,493 INFO L272 TraceCheckUtils]: 52: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,493 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,493 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:21,494 INFO L272 TraceCheckUtils]: 57: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:21,494 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:21,495 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 12:15:21,495 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 12:15:21,495 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:15:21,495 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:21,723 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 12:15:21,724 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 12:15:21,724 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:21,725 INFO L272 TraceCheckUtils]: 57: Hoare triple {5032#(= 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)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:21,725 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L272 TraceCheckUtils]: 52: Hoare triple {5032#(= 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)); {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:21,726 INFO L272 TraceCheckUtils]: 47: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:21,727 INFO L290 TraceCheckUtils]: 46: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:22,484 INFO L290 TraceCheckUtils]: 45: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:22,485 INFO L290 TraceCheckUtils]: 44: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,485 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,485 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,485 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,485 INFO L272 TraceCheckUtils]: 39: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,486 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,486 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,486 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,486 INFO L272 TraceCheckUtils]: 34: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,487 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,487 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,487 INFO L272 TraceCheckUtils]: 29: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 28: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:22,488 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,488 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 12:15:22,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:15:22,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 12:15:22,490 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 12:15:22,490 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:15:22,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:22,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2080857704] [2022-04-28 12:15:22,490 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:22,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1357599546] [2022-04-28 12:15:22,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1357599546] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:22,490 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:22,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:15:22,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:22,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [568640563] [2022-04-28 12:15:22,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [568640563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:22,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:22,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:15:22,491 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569167470] [2022-04-28 12:15:22,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:22,491 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:15:22,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:22,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:22,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:22,521 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:15:22,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:22,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:15:22,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:15:22,521 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:22,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:22,912 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-28 12:15:22,912 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:15:22,912 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:15:22,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:22,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:22,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:15:22,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:22,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:15:22,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:15:22,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:22,982 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:15:22,983 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 12:15:22,983 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:15:22,983 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:22,984 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:22,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 12:15:23,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 12:15:23,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:23,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:23,055 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:23,055 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:23,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:23,059 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:15:23,059 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:23,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:23,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:23,060 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:15:23,060 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:15:23,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:23,065 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:15:23,065 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:23,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:23,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:23,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:23,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:23,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:23,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-28 12:15:23,069 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-28 12:15:23,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:23,070 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-28 12:15:23,070 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:23,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-28 12:15:23,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:23,246 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:23,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:15:23,246 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:23,247 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:15:23,263 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:15:23,451 WARN L477 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-28 12:15:23,451 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:23,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:23,452 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-28 12:15:23,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:23,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [444352358] [2022-04-28 12:15:23,452 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:23,452 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-28 12:15:23,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:23,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144516563] [2022-04-28 12:15:23,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:23,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:23,476 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:23,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1638313292] [2022-04-28 12:15:23,476 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:15:23,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:23,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:23,487 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-28 12:15:23,489 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-28 12:15:23,541 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:15:23,541 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:23,542 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:15:23,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:23,553 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:23,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,852 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 12:15:23,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,853 INFO L272 TraceCheckUtils]: 29: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,853 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,854 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,854 INFO L272 TraceCheckUtils]: 34: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,855 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,855 INFO L272 TraceCheckUtils]: 39: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,855 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,855 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,856 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,856 INFO L290 TraceCheckUtils]: 44: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,857 INFO L290 TraceCheckUtils]: 45: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,857 INFO L290 TraceCheckUtils]: 46: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,857 INFO L272 TraceCheckUtils]: 47: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,857 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,857 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,857 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,858 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,858 INFO L272 TraceCheckUtils]: 52: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,858 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,858 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,858 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,859 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,859 INFO L272 TraceCheckUtils]: 57: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:23,859 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:23,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:23,859 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:23,860 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,860 INFO L290 TraceCheckUtils]: 62: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:15:23,861 INFO L290 TraceCheckUtils]: 63: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,861 INFO L290 TraceCheckUtils]: 64: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:15:23,862 INFO L272 TraceCheckUtils]: 65: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:23,862 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:23,862 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 12:15:23,862 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 12:15:23,862 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:15:23,862 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:24,107 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 12:15:24,108 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 12:15:24,108 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:24,109 INFO L272 TraceCheckUtils]: 65: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:24,109 INFO L290 TraceCheckUtils]: 64: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,111 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,112 INFO L290 TraceCheckUtils]: 62: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,112 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,112 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,112 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,112 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,112 INFO L272 TraceCheckUtils]: 57: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,113 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,113 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,113 INFO L272 TraceCheckUtils]: 52: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,114 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,114 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,114 INFO L272 TraceCheckUtils]: 47: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,114 INFO L290 TraceCheckUtils]: 46: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,116 INFO L290 TraceCheckUtils]: 45: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,116 INFO L290 TraceCheckUtils]: 44: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,117 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,117 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,117 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,117 INFO L272 TraceCheckUtils]: 39: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,117 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L272 TraceCheckUtils]: 34: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,118 INFO L272 TraceCheckUtils]: 29: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 28: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:15:24,119 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 12:15:24,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 12:15:24,121 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-28 12:15:24,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:24,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144516563] [2022-04-28 12:15:24,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:24,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1638313292] [2022-04-28 12:15:24,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1638313292] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:15:24,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:15:24,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:15:24,121 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:24,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [444352358] [2022-04-28 12:15:24,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [444352358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:24,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:24,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:15:24,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [520839614] [2022-04-28 12:15:24,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:24,122 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 69 [2022-04-28 12:15:24,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:24,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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-28 12:15:24,147 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-28 12:15:24,148 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:15:24,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:24,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:15:24,148 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:15:24,148 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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-28 12:15:24,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:24,361 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-28 12:15:24,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:15:24,361 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 69 [2022-04-28 12:15:24,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:24,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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-28 12:15:24,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:15:24,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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-28 12:15:24,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:15:24,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:15:24,401 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-28 12:15:24,404 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:15:24,404 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 12:15:24,404 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:15:24,404 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:24,405 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:15:24,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 12:15:24,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 12:15:24,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:24,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:15:24,481 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:15:24,481 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:15:24,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:24,484 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:15:24,484 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:15:24,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:24,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:24,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:15:24,485 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:15:24,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:24,487 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:15:24,488 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:15:24,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:24,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:24,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:24,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:24,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:15:24,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-28 12:15:24,501 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-28 12:15:24,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:24,501 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-28 12:15:24,501 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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-28 12:15:24,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-28 12:15:24,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:24,680 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:15:24,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:15:24,681 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:24,681 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 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] [2022-04-28 12:15:24,697 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:15:24,881 WARN L477 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-28 12:15:24,882 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:24,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:24,882 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-28 12:15:24,882 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:24,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [492418118] [2022-04-28 12:15:24,882 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:24,882 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-28 12:15:24,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:24,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1141694244] [2022-04-28 12:15:24,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:24,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:24,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:24,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1103526968] [2022-04-28 12:15:24,897 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:15:24,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:24,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:24,898 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-28 12:15:24,899 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-28 12:15:24,947 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:15:24,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:24,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 12:15:24,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:24,966 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:26,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-28 12:15:26,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7232#true} is VALID [2022-04-28 12:15:26,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-28 12:15:26,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-28 12:15:26,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7232#true} is VALID [2022-04-28 12:15:26,690 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:26,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:26,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:26,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} {7232#true} #66#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:15:26,692 INFO L272 TraceCheckUtils]: 12: Hoare triple {7269#(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)); {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #68#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:15:26,692 INFO L272 TraceCheckUtils]: 17: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,692 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,693 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #70#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:15:26,693 INFO L272 TraceCheckUtils]: 22: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:26,693 INFO L290 TraceCheckUtils]: 24: Hoare triple {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:26,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:26,694 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #72#return; {7318#(and (<= 0 main_~x~0) (<= main_~x~0 5) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {7318#(and (<= 0 main_~x~0) (<= main_~x~0 5) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,695 INFO L290 TraceCheckUtils]: 28: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,695 INFO L272 TraceCheckUtils]: 29: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,696 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #74#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,696 INFO L272 TraceCheckUtils]: 34: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,696 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,697 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #76#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,697 INFO L272 TraceCheckUtils]: 39: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,697 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,697 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #78#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,699 INFO L290 TraceCheckUtils]: 45: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,699 INFO L290 TraceCheckUtils]: 46: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,699 INFO L272 TraceCheckUtils]: 47: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,699 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,700 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #74#return; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,700 INFO L272 TraceCheckUtils]: 52: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,700 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:26,701 INFO L290 TraceCheckUtils]: 54: Hoare triple {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:26,701 INFO L290 TraceCheckUtils]: 55: Hoare triple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:26,702 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #76#return; {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,702 INFO L272 TraceCheckUtils]: 57: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,702 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:15:26,702 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:15:26,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:15:26,703 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #78#return; {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,703 INFO L290 TraceCheckUtils]: 62: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:15:26,705 INFO L290 TraceCheckUtils]: 63: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} is VALID [2022-04-28 12:15:26,706 INFO L290 TraceCheckUtils]: 64: Hoare triple {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} assume !false; {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} is VALID [2022-04-28 12:15:26,706 INFO L272 TraceCheckUtils]: 65: Hoare triple {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:15:26,706 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:26,706 INFO L290 TraceCheckUtils]: 67: Hoare triple {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:26,707 INFO L290 TraceCheckUtils]: 68: Hoare triple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:26,709 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} #74#return; {7454#(and (= (+ main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~y~0 main_~x~0)) (<= (+ main_~r~0 2) 0) (<= main_~a~0 (+ main_~x~0 (* (* main_~y~0 main_~r~0) 2) (* main_~y~0 2))) (<= main_~x~0 5) (< 0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:26,709 INFO L272 TraceCheckUtils]: 70: Hoare triple {7454#(and (= (+ main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~y~0 main_~x~0)) (<= (+ main_~r~0 2) 0) (<= main_~a~0 (+ main_~x~0 (* (* main_~y~0 main_~r~0) 2) (* main_~y~0 2))) (<= main_~x~0 5) (< 0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:26,710 INFO L290 TraceCheckUtils]: 71: Hoare triple {7458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:26,710 INFO L290 TraceCheckUtils]: 72: Hoare triple {7462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-28 12:15:26,710 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-28 12:15:26,711 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 45 proven. 23 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-28 12:15:26,711 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:39,677 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:17:46,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:46,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1141694244] [2022-04-28 12:17:46,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:46,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1103526968] [2022-04-28 12:17:46,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1103526968] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:17:46,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:17:46,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-28 12:17:46,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:46,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [492418118] [2022-04-28 12:17:46,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [492418118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:46,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:46,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:17:46,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2068807827] [2022-04-28 12:17:46,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:46,861 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 74 [2022-04-28 12:17:46,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:46,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:17:46,905 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-28 12:17:46,905 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:17:46,905 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:46,905 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:17:46,905 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=345, Unknown=3, NotChecked=0, Total=420 [2022-04-28 12:17:46,905 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:17:49,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:49,232 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-28 12:17:49,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:17:49,232 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 74 [2022-04-28 12:17:49,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:49,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:17:49,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-28 12:17:49,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:17:49,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-28 12:17:49,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 95 transitions. [2022-04-28 12:17:49,340 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-28 12:17:49,342 INFO L225 Difference]: With dead ends: 166 [2022-04-28 12:17:49,342 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:17:49,343 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=89, Invalid=460, Unknown=3, NotChecked=0, Total=552 [2022-04-28 12:17:49,343 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 39 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 494 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 549 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 494 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:49,343 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 152 Invalid, 549 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 494 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 12:17:49,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:17:49,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-28 12:17:49,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:49,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:49,522 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:49,523 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:49,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:49,526 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:17:49,526 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:17:49,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:49,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:49,527 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:17:49,527 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:17:49,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:49,533 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:17:49,533 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:17:49,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:49,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:49,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:49,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:49,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:49,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-28 12:17:49,537 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-28 12:17:49,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:49,537 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-28 12:17:49,537 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:17:49,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-28 12:17:49,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:49,758 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 12:17:49,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:17:49,758 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:49,758 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:49,776 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:17:49,971 WARN L477 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-28 12:17:49,971 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:49,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:49,972 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-28 12:17:49,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:49,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [40606242] [2022-04-28 12:17:49,976 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:49,976 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-28 12:17:49,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:49,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570753005] [2022-04-28 12:17:49,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:49,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:49,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:49,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [157044098] [2022-04-28 12:17:49,988 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:17:49,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:49,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:49,989 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-28 12:17:49,990 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-28 12:17:50,031 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:17:50,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:50,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 12:17:50,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:50,042 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:51,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {8533#true} call ULTIMATE.init(); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {8533#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8533#true} {8533#true} #88#return; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {8533#true} call #t~ret6 := main(); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {8533#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8533#true} {8533#true} #66#return; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {8533#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L272 TraceCheckUtils]: 12: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,038 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8533#true} {8533#true} #68#return; {8533#true} is VALID [2022-04-28 12:17:51,039 INFO L272 TraceCheckUtils]: 17: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {8533#true} ~cond := #in~cond; {8592#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:17:51,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {8592#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8596#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:17:51,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {8596#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8596#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:17:51,048 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8596#(not (= |assume_abort_if_not_#in~cond| 0))} {8533#true} #70#return; {8603#(<= 1 main_~x~0)} is VALID [2022-04-28 12:17:51,048 INFO L272 TraceCheckUtils]: 22: Hoare triple {8603#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,048 INFO L290 TraceCheckUtils]: 24: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,049 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8533#true} {8603#(<= 1 main_~x~0)} #72#return; {8603#(<= 1 main_~x~0)} is VALID [2022-04-28 12:17:51,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {8603#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,050 INFO L290 TraceCheckUtils]: 28: Hoare triple {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,050 INFO L272 TraceCheckUtils]: 29: Hoare triple {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,050 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,050 INFO L272 TraceCheckUtils]: 34: Hoare triple {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,051 INFO L272 TraceCheckUtils]: 39: Hoare triple {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L290 TraceCheckUtils]: 40: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L290 TraceCheckUtils]: 41: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,051 INFO L290 TraceCheckUtils]: 42: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,052 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,052 INFO L290 TraceCheckUtils]: 44: Hoare triple {8622#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8674#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,053 INFO L290 TraceCheckUtils]: 45: Hoare triple {8674#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,054 INFO L290 TraceCheckUtils]: 46: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,054 INFO L272 TraceCheckUtils]: 47: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,054 INFO L290 TraceCheckUtils]: 48: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,054 INFO L290 TraceCheckUtils]: 49: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,054 INFO L290 TraceCheckUtils]: 50: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,054 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8533#true} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,054 INFO L272 TraceCheckUtils]: 52: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,055 INFO L290 TraceCheckUtils]: 55: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,055 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8533#true} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,055 INFO L272 TraceCheckUtils]: 57: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,055 INFO L290 TraceCheckUtils]: 58: Hoare triple {8533#true} ~cond := #in~cond; {8718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:51,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {8718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:51,056 INFO L290 TraceCheckUtils]: 60: Hoare triple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:51,056 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:51,058 INFO L290 TraceCheckUtils]: 63: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:17:51,067 INFO L290 TraceCheckUtils]: 64: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} assume !false; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:17:51,067 INFO L272 TraceCheckUtils]: 65: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:17:51,067 INFO L290 TraceCheckUtils]: 66: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:17:51,067 INFO L290 TraceCheckUtils]: 67: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:17:51,067 INFO L290 TraceCheckUtils]: 68: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:17:51,068 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8533#true} {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} #74#return; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:17:51,068 INFO L272 TraceCheckUtils]: 70: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:51,069 INFO L290 TraceCheckUtils]: 71: Hoare triple {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:51,069 INFO L290 TraceCheckUtils]: 72: Hoare triple {8761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8534#false} is VALID [2022-04-28 12:17:51,069 INFO L290 TraceCheckUtils]: 73: Hoare triple {8534#false} assume !false; {8534#false} is VALID [2022-04-28 12:17:51,070 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 12:17:51,070 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:21,915 INFO L290 TraceCheckUtils]: 73: Hoare triple {8534#false} assume !false; {8534#false} is VALID [2022-04-28 12:18:21,916 INFO L290 TraceCheckUtils]: 72: Hoare triple {8761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8534#false} is VALID [2022-04-28 12:18:21,916 INFO L290 TraceCheckUtils]: 71: Hoare triple {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:21,917 INFO L272 TraceCheckUtils]: 70: Hoare triple {8777#(= 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)); {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:21,918 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8533#true} {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,918 INFO L290 TraceCheckUtils]: 68: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:21,918 INFO L290 TraceCheckUtils]: 67: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:21,918 INFO L290 TraceCheckUtils]: 66: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:21,918 INFO L272 TraceCheckUtils]: 65: Hoare triple {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:21,918 INFO L290 TraceCheckUtils]: 64: Hoare triple {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:23,919 WARN L290 TraceCheckUtils]: 63: Hoare triple {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 12:18:23,920 INFO L290 TraceCheckUtils]: 62: Hoare triple {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:18:23,921 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:18:23,921 INFO L290 TraceCheckUtils]: 60: Hoare triple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:23,922 INFO L290 TraceCheckUtils]: 59: Hoare triple {8816#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:23,922 INFO L290 TraceCheckUtils]: 58: Hoare triple {8533#true} ~cond := #in~cond; {8816#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:18:23,922 INFO L272 TraceCheckUtils]: 57: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {8533#true} is VALID [2022-04-28 12:18:23,922 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8533#true} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:18:23,923 INFO L290 TraceCheckUtils]: 55: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:23,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:23,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:23,923 INFO L272 TraceCheckUtils]: 52: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {8533#true} is VALID [2022-04-28 12:18:23,924 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8533#true} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:18:23,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:23,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:23,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:23,935 INFO L272 TraceCheckUtils]: 47: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:23,935 INFO L290 TraceCheckUtils]: 46: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:18:25,940 WARN L290 TraceCheckUtils]: 45: Hoare triple {8856#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-28 12:18:25,941 INFO L290 TraceCheckUtils]: 44: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {8856#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,942 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #78#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,942 INFO L290 TraceCheckUtils]: 42: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,942 INFO L272 TraceCheckUtils]: 39: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,942 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #76#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,943 INFO L290 TraceCheckUtils]: 37: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,943 INFO L290 TraceCheckUtils]: 36: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,943 INFO L290 TraceCheckUtils]: 35: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,943 INFO L272 TraceCheckUtils]: 34: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,943 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #74#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,943 INFO L290 TraceCheckUtils]: 32: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,944 INFO L272 TraceCheckUtils]: 29: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,944 INFO L290 TraceCheckUtils]: 28: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 27: Hoare triple {8533#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:18:25,945 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8533#true} {8533#true} #72#return; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L272 TraceCheckUtils]: 22: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8533#true} {8533#true} #70#return; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 20: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 19: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 18: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L272 TraceCheckUtils]: 17: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8533#true} {8533#true} #68#return; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,945 INFO L272 TraceCheckUtils]: 12: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {8533#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8533#true} {8533#true} #66#return; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 8: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {8533#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {8533#true} call #t~ret6 := main(); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8533#true} {8533#true} #88#return; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {8533#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {8533#true} call ULTIMATE.init(); {8533#true} is VALID [2022-04-28 12:18:25,946 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-28 12:18:25,947 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:25,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570753005] [2022-04-28 12:18:25,947 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:25,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [157044098] [2022-04-28 12:18:25,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [157044098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:25,947 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:25,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 12:18:25,947 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:25,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [40606242] [2022-04-28 12:18:25,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [40606242] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:25,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:25,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:18:25,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261556059] [2022-04-28 12:18:25,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:25,948 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:18:25,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:25,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:18:25,989 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-28 12:18:25,989 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:18:25,989 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:25,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:18:25,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:18:25,990 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:18:28,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:28,275 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 12:18:28,275 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:18:28,275 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:18:28,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:28,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:18:28,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 12:18:28,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:18:28,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 12:18:28,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 85 transitions. [2022-04-28 12:18:28,361 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-28 12:18:28,364 INFO L225 Difference]: With dead ends: 188 [2022-04-28 12:18:28,364 INFO L226 Difference]: Without dead ends: 186 [2022-04-28 12:18:28,364 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=85, Invalid=377, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:18:28,364 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 24 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 600 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 616 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:28,364 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 201 Invalid, 616 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 600 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 12:18:28,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-28 12:18:28,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 172. [2022-04-28 12:18:28,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:28,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:18:28,589 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:18:28,589 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:18:28,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:28,606 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 12:18:28,606 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 12:18:28,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:28,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:28,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 12:18:28,607 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 12:18:28,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:28,610 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 12:18:28,610 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 12:18:28,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:28,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:28,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:28,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:28,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:18:28,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-28 12:18:28,614 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 74 [2022-04-28 12:18:28,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:28,614 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-28 12:18:28,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:18:28,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-28 12:18:28,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:28,866 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-28 12:18:28,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:18:28,867 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:28,867 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 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] [2022-04-28 12:18:28,883 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-28 12:18:29,075 WARN L477 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-28 12:18:29,075 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:29,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:29,076 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-28 12:18:29,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:29,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [751600229] [2022-04-28 12:18:29,076 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:29,076 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-28 12:18:29,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:29,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1532845824] [2022-04-28 12:18:29,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:29,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:29,089 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:29,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1383381818] [2022-04-28 12:18:29,089 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:18:29,089 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:29,089 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:29,090 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-28 12:18:29,091 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-28 12:18:29,147 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:18:29,148 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:29,149 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 12:18:29,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:29,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:29,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {10093#true} call ULTIMATE.init(); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {10093#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10093#true} {10093#true} #88#return; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {10093#true} call #t~ret6 := main(); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {10093#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10093#true} {10093#true} #66#return; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {10093#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,431 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10093#true} {10093#true} #68#return; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L272 TraceCheckUtils]: 17: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 19: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10093#true} {10093#true} #70#return; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L272 TraceCheckUtils]: 22: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10093#true} {10093#true} #72#return; {10093#true} is VALID [2022-04-28 12:18:29,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {10093#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,433 INFO L290 TraceCheckUtils]: 28: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,433 INFO L272 TraceCheckUtils]: 29: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,433 INFO L290 TraceCheckUtils]: 30: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,433 INFO L290 TraceCheckUtils]: 31: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,433 INFO L290 TraceCheckUtils]: 32: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,433 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,433 INFO L272 TraceCheckUtils]: 34: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,433 INFO L290 TraceCheckUtils]: 35: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,434 INFO L290 TraceCheckUtils]: 36: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,434 INFO L290 TraceCheckUtils]: 37: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,444 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,444 INFO L272 TraceCheckUtils]: 39: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,445 INFO L290 TraceCheckUtils]: 41: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,445 INFO L290 TraceCheckUtils]: 42: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,445 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,446 INFO L290 TraceCheckUtils]: 46: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,446 INFO L272 TraceCheckUtils]: 47: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,446 INFO L290 TraceCheckUtils]: 48: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,447 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,447 INFO L272 TraceCheckUtils]: 52: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {10093#true} ~cond := #in~cond; {10258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:29,449 INFO L290 TraceCheckUtils]: 54: Hoare triple {10258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:29,449 INFO L290 TraceCheckUtils]: 55: Hoare triple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:29,450 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,450 INFO L272 TraceCheckUtils]: 57: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,450 INFO L290 TraceCheckUtils]: 58: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,450 INFO L290 TraceCheckUtils]: 59: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,450 INFO L290 TraceCheckUtils]: 60: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,451 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10093#true} {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,451 INFO L290 TraceCheckUtils]: 62: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:29,465 INFO L290 TraceCheckUtils]: 63: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:29,465 INFO L290 TraceCheckUtils]: 64: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:29,465 INFO L272 TraceCheckUtils]: 65: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,465 INFO L290 TraceCheckUtils]: 66: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L290 TraceCheckUtils]: 67: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L290 TraceCheckUtils]: 68: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:29,466 INFO L272 TraceCheckUtils]: 70: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L290 TraceCheckUtils]: 71: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L290 TraceCheckUtils]: 72: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:29,466 INFO L290 TraceCheckUtils]: 73: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:29,467 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:29,468 INFO L272 TraceCheckUtils]: 75: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~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)); {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:29,468 INFO L290 TraceCheckUtils]: 76: Hoare triple {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:29,468 INFO L290 TraceCheckUtils]: 77: Hoare triple {10332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10094#false} is VALID [2022-04-28 12:18:29,468 INFO L290 TraceCheckUtils]: 78: Hoare triple {10094#false} assume !false; {10094#false} is VALID [2022-04-28 12:18:29,468 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:18:29,469 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:53,122 INFO L290 TraceCheckUtils]: 78: Hoare triple {10094#false} assume !false; {10094#false} is VALID [2022-04-28 12:18:53,123 INFO L290 TraceCheckUtils]: 77: Hoare triple {10332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10094#false} is VALID [2022-04-28 12:18:53,123 INFO L290 TraceCheckUtils]: 76: Hoare triple {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:53,124 INFO L272 TraceCheckUtils]: 75: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~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)); {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:53,124 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:53,124 INFO L290 TraceCheckUtils]: 73: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:53,124 INFO L290 TraceCheckUtils]: 72: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:53,124 INFO L290 TraceCheckUtils]: 71: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:53,124 INFO L272 TraceCheckUtils]: 70: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:53,125 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:53,125 INFO L290 TraceCheckUtils]: 68: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:53,125 INFO L290 TraceCheckUtils]: 67: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:53,125 INFO L290 TraceCheckUtils]: 66: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:53,125 INFO L272 TraceCheckUtils]: 65: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:53,126 INFO L290 TraceCheckUtils]: 64: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,289 INFO L290 TraceCheckUtils]: 63: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,289 INFO L290 TraceCheckUtils]: 62: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !!(~a~0 != ~b~0); {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:18:54,290 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10093#true} {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} #78#return; {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:18:54,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,290 INFO L272 TraceCheckUtils]: 57: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,292 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:18:54,292 INFO L290 TraceCheckUtils]: 55: Hoare triple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:54,292 INFO L290 TraceCheckUtils]: 54: Hoare triple {10415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:54,292 INFO L290 TraceCheckUtils]: 53: Hoare triple {10093#true} ~cond := #in~cond; {10415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:18:54,292 INFO L272 TraceCheckUtils]: 52: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,293 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,293 INFO L290 TraceCheckUtils]: 50: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,293 INFO L290 TraceCheckUtils]: 49: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,293 INFO L290 TraceCheckUtils]: 48: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,293 INFO L272 TraceCheckUtils]: 47: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,294 INFO L290 TraceCheckUtils]: 46: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,294 INFO L290 TraceCheckUtils]: 45: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,294 INFO L290 TraceCheckUtils]: 44: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !!(~a~0 != ~b~0); {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,295 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #78#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,295 INFO L290 TraceCheckUtils]: 41: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,295 INFO L272 TraceCheckUtils]: 39: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~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)); {10093#true} is VALID [2022-04-28 12:18:54,296 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,296 INFO L272 TraceCheckUtils]: 34: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,297 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,297 INFO L290 TraceCheckUtils]: 32: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,297 INFO L272 TraceCheckUtils]: 29: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,297 INFO L290 TraceCheckUtils]: 28: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 27: Hoare triple {10093#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:18:54,298 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10093#true} {10093#true} #72#return; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L272 TraceCheckUtils]: 22: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10093#true} {10093#true} #70#return; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10093#true} {10093#true} #68#return; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,298 INFO L272 TraceCheckUtils]: 12: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {10093#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10093#true} {10093#true} #66#return; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {10093#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {10093#true} call #t~ret6 := main(); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10093#true} {10093#true} #88#return; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {10093#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L272 TraceCheckUtils]: 0: Hoare triple {10093#true} call ULTIMATE.init(); {10093#true} is VALID [2022-04-28 12:18:54,299 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-28 12:18:54,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:54,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1532845824] [2022-04-28 12:18:54,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:54,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1383381818] [2022-04-28 12:18:54,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1383381818] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:54,300 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:54,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 12:18:54,300 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:54,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [751600229] [2022-04-28 12:18:54,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [751600229] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:54,302 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:54,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:18:54,302 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1505970866] [2022-04-28 12:18:54,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:54,302 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:18:54,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:54,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:18:54,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:54,349 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:18:54,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:54,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:18:54,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:18:54,350 INFO L87 Difference]: Start difference. First operand 172 states and 205 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:18:55,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:55,233 INFO L93 Difference]: Finished difference Result 186 states and 224 transitions. [2022-04-28 12:18:55,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:18:55,234 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:18:55,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:55,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:18:55,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:18:55,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:18:55,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:18:55,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-28 12:18:55,327 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-28 12:18:55,330 INFO L225 Difference]: With dead ends: 186 [2022-04-28 12:18:55,330 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:18:55,330 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:18:55,331 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:55,331 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 152 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:18:55,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:18:55,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 153. [2022-04-28 12:18:55,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:55,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:18:55,532 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:18:55,539 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:18:55,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:55,542 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 12:18:55,542 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 12:18:55,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:55,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:55,542 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 12:18:55,543 INFO L87 Difference]: Start difference. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 12:18:55,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:55,548 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 12:18:55,548 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 12:18:55,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:55,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:55,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:55,549 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:55,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:18:55,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 173 transitions. [2022-04-28 12:18:55,552 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 173 transitions. Word has length 79 [2022-04-28 12:18:55,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:55,552 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 173 transitions. [2022-04-28 12:18:55,552 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:18:55,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 173 transitions. [2022-04-28 12:18:56,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:56,287 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 173 transitions. [2022-04-28 12:18:56,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:18:56,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:56,288 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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] [2022-04-28 12:18:56,304 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-28 12:18:56,498 WARN L477 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-28 12:18:56,499 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:56,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:56,499 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-28 12:18:56,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:56,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [783092929] [2022-04-28 12:18:56,499 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:56,499 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-28 12:18:56,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:56,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1407120210] [2022-04-28 12:18:56,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:56,500 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:56,525 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:56,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1916201601] [2022-04-28 12:18:56,525 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:18:56,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:56,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:56,526 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-28 12:18:56,527 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-28 12:18:56,566 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:18:56,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:56,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 12:18:56,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:56,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:57,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {11605#true} call ULTIMATE.init(); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {11605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11605#true} {11605#true} #88#return; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {11605#true} call #t~ret6 := main(); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {11605#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11605#true} {11605#true} #66#return; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {11605#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L272 TraceCheckUtils]: 12: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11605#true} {11605#true} #68#return; {11605#true} is VALID [2022-04-28 12:18:57,249 INFO L272 TraceCheckUtils]: 17: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {11605#true} ~cond := #in~cond; {11664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:57,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {11664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:57,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {11668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:57,251 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11668#(not (= |assume_abort_if_not_#in~cond| 0))} {11605#true} #70#return; {11675#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:57,251 INFO L272 TraceCheckUtils]: 22: Hoare triple {11675#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,251 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11605#true} {11675#(<= 1 main_~x~0)} #72#return; {11675#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:57,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {11675#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,252 INFO L272 TraceCheckUtils]: 29: Hoare triple {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,252 INFO L290 TraceCheckUtils]: 32: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,253 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11605#true} {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,253 INFO L272 TraceCheckUtils]: 34: Hoare triple {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,253 INFO L290 TraceCheckUtils]: 36: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,253 INFO L290 TraceCheckUtils]: 37: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,253 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11605#true} {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,253 INFO L272 TraceCheckUtils]: 39: Hoare triple {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {11605#true} ~cond := #in~cond; {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:57,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:57,254 INFO L290 TraceCheckUtils]: 42: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:57,255 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11694#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,257 INFO L290 TraceCheckUtils]: 46: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,257 INFO L272 TraceCheckUtils]: 47: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,257 INFO L290 TraceCheckUtils]: 50: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,257 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11605#true} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,257 INFO L272 TraceCheckUtils]: 52: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,258 INFO L290 TraceCheckUtils]: 54: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,258 INFO L290 TraceCheckUtils]: 55: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,258 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11605#true} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,258 INFO L272 TraceCheckUtils]: 57: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,258 INFO L290 TraceCheckUtils]: 58: Hoare triple {11605#true} ~cond := #in~cond; {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:57,259 INFO L290 TraceCheckUtils]: 59: Hoare triple {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:57,259 INFO L290 TraceCheckUtils]: 60: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:57,260 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,260 INFO L290 TraceCheckUtils]: 62: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:57,261 INFO L290 TraceCheckUtils]: 63: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 12:18:57,261 INFO L290 TraceCheckUtils]: 64: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} assume !false; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 12:18:57,261 INFO L272 TraceCheckUtils]: 65: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,261 INFO L290 TraceCheckUtils]: 67: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,261 INFO L290 TraceCheckUtils]: 68: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,262 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11605#true} {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #74#return; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 12:18:57,262 INFO L272 TraceCheckUtils]: 70: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:18:57,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:18:57,262 INFO L290 TraceCheckUtils]: 72: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:18:57,262 INFO L290 TraceCheckUtils]: 73: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:18:57,262 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11605#true} {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #76#return; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 12:18:57,263 INFO L272 TraceCheckUtils]: 75: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:57,263 INFO L290 TraceCheckUtils]: 76: Hoare triple {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:57,264 INFO L290 TraceCheckUtils]: 77: Hoare triple {11848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11606#false} is VALID [2022-04-28 12:18:57,264 INFO L290 TraceCheckUtils]: 78: Hoare triple {11606#false} assume !false; {11606#false} is VALID [2022-04-28 12:18:57,264 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 38 proven. 37 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-28 12:18:57,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:16,645 INFO L290 TraceCheckUtils]: 78: Hoare triple {11606#false} assume !false; {11606#false} is VALID [2022-04-28 12:19:16,646 INFO L290 TraceCheckUtils]: 77: Hoare triple {11848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11606#false} is VALID [2022-04-28 12:19:16,646 INFO L290 TraceCheckUtils]: 76: Hoare triple {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:16,647 INFO L272 TraceCheckUtils]: 75: Hoare triple {11864#(= 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)); {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:16,648 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11605#true} {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 73: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 72: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 71: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L272 TraceCheckUtils]: 70: Hoare triple {11864#(= 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)); {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11605#true} {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 68: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 67: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:16,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:16,649 INFO L272 TraceCheckUtils]: 65: Hoare triple {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:16,649 INFO L290 TraceCheckUtils]: 64: Hoare triple {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:19:16,876 INFO L290 TraceCheckUtils]: 63: Hoare triple {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:19:16,877 INFO L290 TraceCheckUtils]: 62: Hoare triple {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:19:16,878 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:19:16,878 INFO L290 TraceCheckUtils]: 60: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:16,878 INFO L290 TraceCheckUtils]: 59: Hoare triple {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:16,879 INFO L290 TraceCheckUtils]: 58: Hoare triple {11605#true} ~cond := #in~cond; {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:19:16,879 INFO L272 TraceCheckUtils]: 57: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:16,879 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11605#true} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:19:16,879 INFO L290 TraceCheckUtils]: 55: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:16,879 INFO L290 TraceCheckUtils]: 54: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:16,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:16,879 INFO L272 TraceCheckUtils]: 52: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:16,880 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11605#true} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:19:16,880 INFO L290 TraceCheckUtils]: 50: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:16,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:16,880 INFO L290 TraceCheckUtils]: 48: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:16,880 INFO L272 TraceCheckUtils]: 47: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:16,880 INFO L290 TraceCheckUtils]: 46: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:19:18,882 WARN L290 TraceCheckUtils]: 45: Hoare triple {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-28 12:19:18,883 INFO L290 TraceCheckUtils]: 44: Hoare triple {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:19:18,884 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11605#true} #78#return; {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:19:18,884 INFO L290 TraceCheckUtils]: 42: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 41: Hoare triple {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 40: Hoare triple {11605#true} ~cond := #in~cond; {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:19:18,885 INFO L272 TraceCheckUtils]: 39: Hoare triple {11605#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11605#true} {11605#true} #76#return; {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 37: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 36: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 35: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L272 TraceCheckUtils]: 34: Hoare triple {11605#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11605#true} {11605#true} #74#return; {11605#true} is VALID [2022-04-28 12:19:18,885 INFO L290 TraceCheckUtils]: 32: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L272 TraceCheckUtils]: 29: Hoare triple {11605#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 28: Hoare triple {11605#true} assume !false; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {11605#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11605#true} {11605#true} #72#return; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 24: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L272 TraceCheckUtils]: 22: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11605#true} {11605#true} #70#return; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11605#true} {11605#true} #68#return; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,886 INFO L272 TraceCheckUtils]: 12: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {11605#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11605#true} {11605#true} #66#return; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 7: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L272 TraceCheckUtils]: 6: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {11605#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {11605#true} call #t~ret6 := main(); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11605#true} {11605#true} #88#return; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {11605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {11605#true} call ULTIMATE.init(); {11605#true} is VALID [2022-04-28 12:19:18,887 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 26 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:19:18,888 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:18,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1407120210] [2022-04-28 12:19:18,888 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:18,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1916201601] [2022-04-28 12:19:18,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1916201601] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:18,888 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:18,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 12:19:18,888 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:18,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [783092929] [2022-04-28 12:19:18,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [783092929] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:18,888 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:18,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:19:18,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1219897396] [2022-04-28 12:19:18,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:18,889 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:19:18,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:18,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:19:18,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:18,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:19:18,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:18,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:19:18,942 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=250, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:19:18,942 INFO L87 Difference]: Start difference. First operand 153 states and 173 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:19:20,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:20,214 INFO L93 Difference]: Finished difference Result 175 states and 201 transitions. [2022-04-28 12:19:20,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:19:20,214 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:19:20,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:20,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:19:20,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 12:19:20,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:19:20,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 12:19:20,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 69 transitions. [2022-04-28 12:19:20,298 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-28 12:19:20,300 INFO L225 Difference]: With dead ends: 175 [2022-04-28 12:19:20,301 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:19:20,301 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 139 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=347, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:19:20,301 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 24 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 355 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 375 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 355 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:20,301 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 142 Invalid, 375 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 355 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:19:20,302 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:19:20,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 163. [2022-04-28 12:19:20,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:20,507 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:19:20,507 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:19:20,507 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:19:20,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:20,510 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 12:19:20,510 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 12:19:20,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:20,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:20,511 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 12:19:20,512 INFO L87 Difference]: Start difference. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 12:19:20,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:20,514 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 12:19:20,514 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 12:19:20,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:20,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:20,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:20,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:20,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:19:20,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 186 transitions. [2022-04-28 12:19:20,518 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 186 transitions. Word has length 79 [2022-04-28 12:19:20,518 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:20,518 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 186 transitions. [2022-04-28 12:19:20,518 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:19:20,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 186 transitions. [2022-04-28 12:19:21,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:21,528 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 186 transitions. [2022-04-28 12:19:21,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:19:21,528 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:21,528 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:21,545 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-28 12:19:21,745 WARN L477 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-28 12:19:21,746 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:21,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:21,746 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-28 12:19:21,746 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:21,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2076890100] [2022-04-28 12:19:21,746 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:21,746 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-28 12:19:21,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:21,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806925767] [2022-04-28 12:19:21,747 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:21,747 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:21,761 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:21,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [289973530] [2022-04-28 12:19:21,761 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:21,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:21,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:21,762 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-28 12:19:21,763 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-28 12:19:21,811 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:21,811 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:21,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-28 12:19:21,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:21,832 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:15,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {13124#true} call ULTIMATE.init(); {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {13124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13124#true} {13124#true} #88#return; {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {13124#true} call #t~ret6 := main(); {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {13124#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13124#true} is VALID [2022-04-28 12:22:15,971 INFO L272 TraceCheckUtils]: 6: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {13124#true} ~cond := #in~cond; {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:15,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:15,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:15,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} {13124#true} #66#return; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:22:15,973 INFO L290 TraceCheckUtils]: 11: Hoare triple {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:22:15,973 INFO L272 TraceCheckUtils]: 12: Hoare triple {13161#(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)); {13124#true} is VALID [2022-04-28 12:22:15,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,974 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13124#true} {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #68#return; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:22:15,974 INFO L272 TraceCheckUtils]: 17: Hoare triple {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {13124#true} ~cond := #in~cond; {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:15,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:15,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:15,975 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #70#return; {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:22:15,975 INFO L272 TraceCheckUtils]: 22: Hoare triple {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,975 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13124#true} {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} #72#return; {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:22:15,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,976 INFO L290 TraceCheckUtils]: 28: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,976 INFO L272 TraceCheckUtils]: 29: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,977 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,977 INFO L272 TraceCheckUtils]: 34: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,978 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,978 INFO L272 TraceCheckUtils]: 39: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,978 INFO L290 TraceCheckUtils]: 40: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,978 INFO L290 TraceCheckUtils]: 41: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,978 INFO L290 TraceCheckUtils]: 42: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,979 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:15,980 INFO L290 TraceCheckUtils]: 45: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,980 INFO L290 TraceCheckUtils]: 46: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} assume !false; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,980 INFO L272 TraceCheckUtils]: 47: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,981 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #74#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,981 INFO L272 TraceCheckUtils]: 52: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,981 INFO L290 TraceCheckUtils]: 53: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,981 INFO L290 TraceCheckUtils]: 54: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,982 INFO L290 TraceCheckUtils]: 55: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,982 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #76#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,982 INFO L272 TraceCheckUtils]: 57: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,982 INFO L290 TraceCheckUtils]: 58: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,982 INFO L290 TraceCheckUtils]: 59: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,983 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #78#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,984 INFO L290 TraceCheckUtils]: 62: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} assume !!(~a~0 != ~b~0); {13321#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 12:22:15,985 INFO L290 TraceCheckUtils]: 63: Hoare triple {13321#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (<= (+ main_~q~0 main_~p~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,985 INFO L290 TraceCheckUtils]: 64: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,986 INFO L272 TraceCheckUtils]: 65: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,986 INFO L290 TraceCheckUtils]: 66: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,986 INFO L290 TraceCheckUtils]: 67: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,986 INFO L290 TraceCheckUtils]: 68: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,986 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13124#true} {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,986 INFO L272 TraceCheckUtils]: 70: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,987 INFO L290 TraceCheckUtils]: 71: Hoare triple {13124#true} ~cond := #in~cond; {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:15,987 INFO L290 TraceCheckUtils]: 72: Hoare triple {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:15,987 INFO L290 TraceCheckUtils]: 73: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:15,988 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,988 INFO L272 TraceCheckUtils]: 75: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,988 INFO L290 TraceCheckUtils]: 76: Hoare triple {13124#true} ~cond := #in~cond; {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:15,988 INFO L290 TraceCheckUtils]: 77: Hoare triple {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:15,989 INFO L290 TraceCheckUtils]: 78: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:15,989 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,990 INFO L290 TraceCheckUtils]: 80: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:22:15,996 INFO L290 TraceCheckUtils]: 81: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 12:22:15,997 INFO L290 TraceCheckUtils]: 82: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} assume !false; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 12:22:15,997 INFO L272 TraceCheckUtils]: 83: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:15,997 INFO L290 TraceCheckUtils]: 84: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:15,997 INFO L290 TraceCheckUtils]: 85: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:15,997 INFO L290 TraceCheckUtils]: 86: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:15,998 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13124#true} {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} #74#return; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 12:22:16,011 INFO L272 TraceCheckUtils]: 88: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:16,012 INFO L290 TraceCheckUtils]: 89: Hoare triple {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13409#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:16,012 INFO L290 TraceCheckUtils]: 90: Hoare triple {13409#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13125#false} is VALID [2022-04-28 12:22:16,012 INFO L290 TraceCheckUtils]: 91: Hoare triple {13125#false} assume !false; {13125#false} is VALID [2022-04-28 12:22:16,012 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 63 proven. 44 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 12:22:16,012 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:45,844 INFO L290 TraceCheckUtils]: 91: Hoare triple {13125#false} assume !false; {13125#false} is VALID [2022-04-28 12:22:45,844 INFO L290 TraceCheckUtils]: 90: Hoare triple {13409#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13125#false} is VALID [2022-04-28 12:22:45,845 INFO L290 TraceCheckUtils]: 89: Hoare triple {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13409#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:45,845 INFO L272 TraceCheckUtils]: 88: Hoare triple {13425#(= 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)); {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:45,846 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13124#true} {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:45,846 INFO L290 TraceCheckUtils]: 86: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:45,846 INFO L290 TraceCheckUtils]: 85: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:45,846 INFO L290 TraceCheckUtils]: 84: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:45,846 INFO L272 TraceCheckUtils]: 83: Hoare triple {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:45,846 INFO L290 TraceCheckUtils]: 82: Hoare triple {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:46,455 INFO L290 TraceCheckUtils]: 81: Hoare triple {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:46,455 INFO L290 TraceCheckUtils]: 80: Hoare triple {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:22:46,456 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:22:46,456 INFO L290 TraceCheckUtils]: 78: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,457 INFO L290 TraceCheckUtils]: 77: Hoare triple {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,457 INFO L290 TraceCheckUtils]: 76: Hoare triple {13124#true} ~cond := #in~cond; {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:22:46,457 INFO L272 TraceCheckUtils]: 75: Hoare triple {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {13124#true} is VALID [2022-04-28 12:22:46,458 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13124#true} #76#return; {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:22:46,458 INFO L290 TraceCheckUtils]: 73: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 72: Hoare triple {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 71: Hoare triple {13124#true} ~cond := #in~cond; {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:22:46,459 INFO L272 TraceCheckUtils]: 70: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 68: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 67: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 66: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L272 TraceCheckUtils]: 65: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 64: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 63: Hoare triple {13124#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 62: Hoare triple {13124#true} assume !!(~a~0 != ~b~0); {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13124#true} {13124#true} #78#return; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 60: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,459 INFO L290 TraceCheckUtils]: 59: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 58: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L272 TraceCheckUtils]: 57: Hoare triple {13124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13124#true} {13124#true} #76#return; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 55: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 54: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 53: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L272 TraceCheckUtils]: 52: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 50: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 48: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L272 TraceCheckUtils]: 47: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 46: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 45: Hoare triple {13124#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 44: Hoare triple {13124#true} assume !!(~a~0 != ~b~0); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13124#true} {13124#true} #78#return; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 42: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 41: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L290 TraceCheckUtils]: 40: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,460 INFO L272 TraceCheckUtils]: 39: Hoare triple {13124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13124#true} {13124#true} #76#return; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L272 TraceCheckUtils]: 34: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L272 TraceCheckUtils]: 29: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {13124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13124#true} {13124#true} #72#return; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 23: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L272 TraceCheckUtils]: 22: Hoare triple {13124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13124#true} {13124#true} #70#return; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,461 INFO L290 TraceCheckUtils]: 19: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 18: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L272 TraceCheckUtils]: 17: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13124#true} {13124#true} #68#return; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 14: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L272 TraceCheckUtils]: 12: Hoare triple {13124#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {13124#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13124#true} {13124#true} #66#return; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {13124#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {13124#true} call #t~ret6 := main(); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13124#true} {13124#true} #88#return; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {13124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13124#true} is VALID [2022-04-28 12:22:46,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {13124#true} call ULTIMATE.init(); {13124#true} is VALID [2022-04-28 12:22:46,463 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 12:22:46,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:46,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806925767] [2022-04-28 12:22:46,463 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:46,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [289973530] [2022-04-28 12:22:46,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [289973530] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:46,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:46,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 12:22:46,463 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:46,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2076890100] [2022-04-28 12:22:46,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2076890100] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:46,463 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:46,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:22:46,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [809469311] [2022-04-28 12:22:46,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:46,464 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Word has length 92 [2022-04-28 12:22:46,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:46,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 12:22:46,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:46,537 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:22:46,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:46,538 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:22:46,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:22:46,538 INFO L87 Difference]: Start difference. First operand 163 states and 186 transitions. Second operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 12:22:57,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:57,108 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-28 12:22:57,108 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:22:57,108 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Word has length 92 [2022-04-28 12:22:57,108 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:57,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 12:22:57,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2022-04-28 12:22:57,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 12:22:57,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2022-04-28 12:22:57,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 79 transitions. [2022-04-28 12:22:57,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:57,235 INFO L225 Difference]: With dead ends: 193 [2022-04-28 12:22:57,235 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 12:22:57,235 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=81, Invalid=425, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:22:57,236 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 25 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 531 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 550 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 531 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:57,236 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 192 Invalid, 550 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 531 Invalid, 0 Unknown, 0 Unchecked, 5.3s Time] [2022-04-28 12:22:57,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 12:22:57,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-28 12:22:57,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:57,563 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:22:57,564 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:22:57,564 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:22:57,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:57,567 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 12:22:57,567 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:22:57,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:57,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:57,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 12:22:57,568 INFO L87 Difference]: Start difference. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 12:22:57,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:57,571 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 12:22:57,571 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:22:57,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:57,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:57,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:57,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:57,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:22:57,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 222 transitions. [2022-04-28 12:22:57,576 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 222 transitions. Word has length 92 [2022-04-28 12:22:57,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:57,576 INFO L495 AbstractCegarLoop]: Abstraction has 191 states and 222 transitions. [2022-04-28 12:22:57,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 12:22:57,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 222 transitions. [2022-04-28 12:22:58,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:58,169 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:22:58,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:22:58,170 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:58,170 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:58,186 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 12:22:58,375 WARN L477 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-28 12:22:58,377 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:58,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:58,377 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-28 12:22:58,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:58,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [231432897] [2022-04-28 12:22:58,378 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:58,378 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-28 12:22:58,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:58,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [660456638] [2022-04-28 12:22:58,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:58,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:58,389 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:58,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [978702142] [2022-04-28 12:22:58,390 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:22:58,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:58,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:58,390 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-28 12:22:58,391 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-28 12:22:58,435 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:22:58,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:58,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 12:22:58,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:58,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:00,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {14851#true} call ULTIMATE.init(); {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {14851#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14851#true} {14851#true} #88#return; {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {14851#true} call #t~ret6 := main(); {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {14851#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14851#true} is VALID [2022-04-28 12:23:00,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14851#true} {14851#true} #66#return; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {14851#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14851#true} {14851#true} #68#return; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14851#true} {14851#true} #70#return; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,564 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14851#true} {14851#true} #72#return; {14851#true} is VALID [2022-04-28 12:23:00,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {14851#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,566 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,566 INFO L272 TraceCheckUtils]: 34: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,567 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,567 INFO L272 TraceCheckUtils]: 39: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,567 INFO L290 TraceCheckUtils]: 41: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,567 INFO L290 TraceCheckUtils]: 42: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,567 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14989#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {14989#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,569 INFO L272 TraceCheckUtils]: 47: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,569 INFO L290 TraceCheckUtils]: 48: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,569 INFO L290 TraceCheckUtils]: 49: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,569 INFO L290 TraceCheckUtils]: 50: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,570 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,570 INFO L272 TraceCheckUtils]: 52: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,570 INFO L290 TraceCheckUtils]: 53: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,570 INFO L290 TraceCheckUtils]: 54: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,570 INFO L290 TraceCheckUtils]: 55: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,571 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,571 INFO L272 TraceCheckUtils]: 57: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,571 INFO L290 TraceCheckUtils]: 59: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,571 INFO L290 TraceCheckUtils]: 60: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,571 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,572 INFO L290 TraceCheckUtils]: 62: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:00,573 INFO L290 TraceCheckUtils]: 63: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,573 INFO L290 TraceCheckUtils]: 64: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,574 INFO L272 TraceCheckUtils]: 65: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,574 INFO L290 TraceCheckUtils]: 66: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,574 INFO L290 TraceCheckUtils]: 67: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,574 INFO L290 TraceCheckUtils]: 68: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,574 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14851#true} {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,574 INFO L272 TraceCheckUtils]: 70: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,575 INFO L290 TraceCheckUtils]: 71: Hoare triple {14851#true} ~cond := #in~cond; {15073#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:00,575 INFO L290 TraceCheckUtils]: 72: Hoare triple {15073#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:00,575 INFO L290 TraceCheckUtils]: 73: Hoare triple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:00,576 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,576 INFO L272 TraceCheckUtils]: 75: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,576 INFO L290 TraceCheckUtils]: 76: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,576 INFO L290 TraceCheckUtils]: 77: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,576 INFO L290 TraceCheckUtils]: 78: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,577 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14851#true} {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,577 INFO L290 TraceCheckUtils]: 80: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:00,580 INFO L290 TraceCheckUtils]: 81: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:00,580 INFO L290 TraceCheckUtils]: 82: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} assume !false; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:00,581 INFO L272 TraceCheckUtils]: 83: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:00,581 INFO L290 TraceCheckUtils]: 84: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:00,581 INFO L290 TraceCheckUtils]: 85: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:00,581 INFO L290 TraceCheckUtils]: 86: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:00,581 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14851#true} {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} #74#return; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:00,583 INFO L272 TraceCheckUtils]: 88: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:00,583 INFO L290 TraceCheckUtils]: 89: Hoare triple {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:00,583 INFO L290 TraceCheckUtils]: 90: Hoare triple {15132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14852#false} is VALID [2022-04-28 12:23:00,584 INFO L290 TraceCheckUtils]: 91: Hoare triple {14852#false} assume !false; {14852#false} is VALID [2022-04-28 12:23:00,584 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 40 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 12:23:00,584 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:16,777 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:23:16,899 INFO L290 TraceCheckUtils]: 91: Hoare triple {14852#false} assume !false; {14852#false} is VALID [2022-04-28 12:23:16,899 INFO L290 TraceCheckUtils]: 90: Hoare triple {15132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14852#false} is VALID [2022-04-28 12:23:16,900 INFO L290 TraceCheckUtils]: 89: Hoare triple {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:16,900 INFO L272 TraceCheckUtils]: 88: Hoare triple {15148#(= 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)); {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:16,901 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14851#true} {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:16,901 INFO L290 TraceCheckUtils]: 86: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:16,901 INFO L290 TraceCheckUtils]: 85: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:16,901 INFO L290 TraceCheckUtils]: 84: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:16,901 INFO L272 TraceCheckUtils]: 83: Hoare triple {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:16,902 INFO L290 TraceCheckUtils]: 82: Hoare triple {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:18,012 INFO L290 TraceCheckUtils]: 81: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:18,013 INFO L290 TraceCheckUtils]: 80: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:18,014 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14851#true} {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #78#return; {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:18,014 INFO L290 TraceCheckUtils]: 78: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:18,014 INFO L290 TraceCheckUtils]: 77: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:18,014 INFO L290 TraceCheckUtils]: 76: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:18,014 INFO L272 TraceCheckUtils]: 75: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:18,015 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #76#return; {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:23:18,015 INFO L290 TraceCheckUtils]: 73: Hoare triple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:18,015 INFO L290 TraceCheckUtils]: 72: Hoare triple {15202#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:18,015 INFO L290 TraceCheckUtils]: 71: Hoare triple {14851#true} ~cond := #in~cond; {15202#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:23:18,015 INFO L272 TraceCheckUtils]: 70: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {14851#true} is VALID [2022-04-28 12:23:18,016 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14851#true} {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #74#return; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 68: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 67: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 66: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:18,016 INFO L272 TraceCheckUtils]: 65: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:18,017 INFO L290 TraceCheckUtils]: 64: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:23:18,126 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:23:18,127 INFO L290 TraceCheckUtils]: 62: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:23:18,128 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #78#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:23:18,128 INFO L290 TraceCheckUtils]: 60: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:18,128 INFO L290 TraceCheckUtils]: 59: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:18,128 INFO L290 TraceCheckUtils]: 58: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:18,128 INFO L272 TraceCheckUtils]: 57: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:18,129 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #76#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:23:18,129 INFO L290 TraceCheckUtils]: 55: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:18,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:18,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:18,129 INFO L272 TraceCheckUtils]: 52: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:18,129 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #74#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:23:18,129 INFO L290 TraceCheckUtils]: 50: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:18,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:18,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:18,130 INFO L272 TraceCheckUtils]: 47: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:18,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:23:20,132 WARN L290 TraceCheckUtils]: 45: Hoare triple {15282#(or (< main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is UNKNOWN [2022-04-28 12:23:20,133 INFO L290 TraceCheckUtils]: 44: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~a~0 != ~b~0); {15282#(or (< main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,134 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,134 INFO L290 TraceCheckUtils]: 42: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,134 INFO L290 TraceCheckUtils]: 41: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,134 INFO L290 TraceCheckUtils]: 40: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,134 INFO L272 TraceCheckUtils]: 39: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~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)); {14851#true} is VALID [2022-04-28 12:23:20,134 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 37: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 36: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 35: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L272 TraceCheckUtils]: 34: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~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)); {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,135 INFO L290 TraceCheckUtils]: 30: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,136 INFO L272 TraceCheckUtils]: 29: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:20,136 INFO L290 TraceCheckUtils]: 28: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {14851#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:23:20,137 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14851#true} {14851#true} #72#return; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L272 TraceCheckUtils]: 22: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14851#true} {14851#true} #70#return; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L272 TraceCheckUtils]: 17: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14851#true} {14851#true} #68#return; {14851#true} is VALID [2022-04-28 12:23:20,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L272 TraceCheckUtils]: 12: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 11: Hoare triple {14851#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14851#true} {14851#true} #66#return; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L272 TraceCheckUtils]: 6: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {14851#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {14851#true} call #t~ret6 := main(); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14851#true} {14851#true} #88#return; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {14851#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14851#true} is VALID [2022-04-28 12:23:20,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {14851#true} call ULTIMATE.init(); {14851#true} is VALID [2022-04-28 12:23:20,139 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 46 proven. 28 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 12:23:20,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:20,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [660456638] [2022-04-28 12:23:20,139 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:20,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [978702142] [2022-04-28 12:23:20,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [978702142] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:20,139 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:20,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 12:23:20,139 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:20,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [231432897] [2022-04-28 12:23:20,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [231432897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:20,139 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:20,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:23:20,140 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1399177242] [2022-04-28 12:23:20,140 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:20,140 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 12:23:20,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:20,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:23:20,197 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-28 12:23:20,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:23:20,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:20,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:23:20,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=270, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:23:20,197 INFO L87 Difference]: Start difference. First operand 191 states and 222 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:23:22,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:22,840 INFO L93 Difference]: Finished difference Result 220 states and 258 transitions. [2022-04-28 12:23:22,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:23:22,840 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 12:23:22,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:22,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:23:22,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2022-04-28 12:23:22,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:23:22,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2022-04-28 12:23:22,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2022-04-28 12:23:22,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:22,962 INFO L225 Difference]: With dead ends: 220 [2022-04-28 12:23:22,962 INFO L226 Difference]: Without dead ends: 218 [2022-04-28 12:23:22,963 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 165 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=85, Invalid=335, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:23:22,963 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:22,963 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 191 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 12:23:22,963 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-28 12:23:23,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 208. [2022-04-28 12:23:23,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:23,405 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:23:23,405 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:23:23,405 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:23:23,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:23,409 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-28 12:23:23,409 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-28 12:23:23,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:23,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:23,410 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-28 12:23:23,410 INFO L87 Difference]: Start difference. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-28 12:23:23,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:23,414 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-28 12:23:23,414 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-28 12:23:23,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:23,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:23,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:23,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:23,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:23:23,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 243 transitions. [2022-04-28 12:23:23,418 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 243 transitions. Word has length 92 [2022-04-28 12:23:23,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:23,418 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 243 transitions. [2022-04-28 12:23:23,419 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:23:23,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 243 transitions. [2022-04-28 12:23:25,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 243 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:25,343 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 243 transitions. [2022-04-28 12:23:25,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:23:25,344 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:25,344 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:25,375 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-28 12:23:25,544 WARN L477 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-28 12:23:25,544 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:25,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:25,545 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-28 12:23:25,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:25,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [764979935] [2022-04-28 12:23:25,545 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:25,545 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-28 12:23:25,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:25,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002824930] [2022-04-28 12:23:25,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:25,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:25,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:25,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2045268456] [2022-04-28 12:23:25,555 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:23:25,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:25,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:25,565 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-28 12:23:25,566 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-28 12:23:25,607 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:23:25,607 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:25,608 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:23:25,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:25,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:42,876 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:23:47,660 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:23:58,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {16717#true} call ULTIMATE.init(); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {16717#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16717#true} {16717#true} #88#return; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {16717#true} call #t~ret6 := main(); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {16717#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {16717#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16717#true} {16717#true} #66#return; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {16717#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L272 TraceCheckUtils]: 12: Hoare triple {16717#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16717#true} {16717#true} #68#return; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L272 TraceCheckUtils]: 17: Hoare triple {16717#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 19: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16717#true} {16717#true} #70#return; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L272 TraceCheckUtils]: 22: Hoare triple {16717#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,996 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16717#true} {16717#true} #72#return; {16717#true} is VALID [2022-04-28 12:23:58,997 INFO L290 TraceCheckUtils]: 27: Hoare triple {16717#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:58,997 INFO L290 TraceCheckUtils]: 28: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:58,997 INFO L272 TraceCheckUtils]: 29: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,998 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:58,998 INFO L272 TraceCheckUtils]: 34: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,998 INFO L290 TraceCheckUtils]: 37: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,998 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:58,999 INFO L272 TraceCheckUtils]: 39: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:58,999 INFO L290 TraceCheckUtils]: 40: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:58,999 INFO L290 TraceCheckUtils]: 41: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:58,999 INFO L290 TraceCheckUtils]: 42: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:58,999 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,000 INFO L290 TraceCheckUtils]: 44: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,000 INFO L290 TraceCheckUtils]: 45: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,001 INFO L290 TraceCheckUtils]: 46: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,001 INFO L272 TraceCheckUtils]: 47: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,001 INFO L290 TraceCheckUtils]: 48: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:59,001 INFO L290 TraceCheckUtils]: 49: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:59,001 INFO L290 TraceCheckUtils]: 50: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:59,001 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,001 INFO L272 TraceCheckUtils]: 52: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 53: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 54: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 55: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,002 INFO L272 TraceCheckUtils]: 57: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 58: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 59: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:59,002 INFO L290 TraceCheckUtils]: 60: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:59,003 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,003 INFO L290 TraceCheckUtils]: 62: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,004 INFO L290 TraceCheckUtils]: 63: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,004 INFO L290 TraceCheckUtils]: 64: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,004 INFO L272 TraceCheckUtils]: 65: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,004 INFO L290 TraceCheckUtils]: 66: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:59,004 INFO L290 TraceCheckUtils]: 67: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:59,004 INFO L290 TraceCheckUtils]: 68: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:59,005 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,005 INFO L272 TraceCheckUtils]: 70: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,005 INFO L290 TraceCheckUtils]: 71: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 12:23:59,005 INFO L290 TraceCheckUtils]: 72: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 12:23:59,005 INFO L290 TraceCheckUtils]: 73: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 12:23:59,006 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,006 INFO L272 TraceCheckUtils]: 75: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,006 INFO L290 TraceCheckUtils]: 76: Hoare triple {16717#true} ~cond := #in~cond; {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:59,006 INFO L290 TraceCheckUtils]: 77: Hoare triple {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:59,006 INFO L290 TraceCheckUtils]: 78: Hoare triple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:59,007 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,008 INFO L290 TraceCheckUtils]: 80: Hoare triple {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:59,009 INFO L290 TraceCheckUtils]: 81: Hoare triple {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:23:59,009 INFO L290 TraceCheckUtils]: 82: Hoare triple {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:23:59,009 INFO L272 TraceCheckUtils]: 83: Hoare triple {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 12:23:59,010 INFO L290 TraceCheckUtils]: 84: Hoare triple {16717#true} ~cond := #in~cond; {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:59,010 INFO L290 TraceCheckUtils]: 85: Hoare triple {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:59,010 INFO L290 TraceCheckUtils]: 86: Hoare triple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:01,013 WARN L284 TraceCheckUtils]: 87: Hoare quadruple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {16988#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} is UNKNOWN [2022-04-28 12:24:01,026 INFO L272 TraceCheckUtils]: 88: Hoare triple {16988#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16992#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:01,026 INFO L290 TraceCheckUtils]: 89: Hoare triple {16992#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16996#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:01,027 INFO L290 TraceCheckUtils]: 90: Hoare triple {16996#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16718#false} is VALID [2022-04-28 12:24:01,027 INFO L290 TraceCheckUtils]: 91: Hoare triple {16718#false} assume !false; {16718#false} is VALID [2022-04-28 12:24:01,027 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-04-28 12:24:01,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:25:40,308 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:27:38,666 WARN L855 $PredicateComparison]: unable to prove that (forall ((v_main_~r~0_BEFORE_CALL_133 Int) (v_main_~q~0_BEFORE_CALL_132 Int) (v_main_~p~0_BEFORE_CALL_136 Int) (v_main_~s~0_BEFORE_CALL_132 Int)) (or (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_132) v_main_~r~0_BEFORE_CALL_133) v_main_~q~0_BEFORE_CALL_132) 1) (* (+ v_main_~p~0_BEFORE_CALL_136 (* (- 1) v_main_~q~0_BEFORE_CALL_132)) v_main_~s~0_BEFORE_CALL_132))) (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_133 v_main_~q~0_BEFORE_CALL_132) 1))) (or (= .cse0 0) (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_136) 0)))))) is different from true