/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:27:22,624 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:27:22,627 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:27:22,683 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:27:22,684 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:27:22,685 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:27:22,688 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:27:22,693 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:27:22,697 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:27:22,701 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:27:22,702 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:27:22,703 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:27:22,703 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:27:22,706 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:27:22,707 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:27:22,709 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:27:22,710 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:27:22,711 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:27:22,713 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:27:22,718 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:27:22,720 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:27:22,721 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:27:22,721 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:27:22,722 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:27:22,723 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:27:22,729 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:27:22,730 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:27:22,730 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:27:22,731 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:27:22,731 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:27:22,733 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:27:22,733 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:27:22,734 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:27:22,735 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:27:22,736 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:27:22,736 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:27:22,736 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:27:22,737 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:27:22,737 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:27:22,737 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:27:22,738 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:27:22,740 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:27:22,740 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:27:22,753 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:27:22,753 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:27:22,754 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:27:22,754 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:27:22,755 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:27:22,755 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:27:22,755 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:27:22,755 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:27:22,755 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:27:22,756 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:27:22,756 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:27:22,756 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:27:22,756 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:27:22,757 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:27:22,757 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:27:22,757 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:27:22,757 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:27:22,757 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:27:22,757 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:27:22,758 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:27:22,758 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:27:22,758 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:27:22,758 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:27:22,758 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:27:22,758 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:27:22,758 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 05:27:22,967 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:27:22,985 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:27:22,988 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:27:22,989 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:27:22,990 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:27:22,992 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-28 05:27:23,052 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/52c7e6c2d/afbd02a26fa1477c818890df80131c9b/FLAGdfc01bbc8 [2022-04-28 05:27:23,417 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:27:23,418 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-28 05:27:23,423 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/52c7e6c2d/afbd02a26fa1477c818890df80131c9b/FLAGdfc01bbc8 [2022-04-28 05:27:23,837 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/52c7e6c2d/afbd02a26fa1477c818890df80131c9b [2022-04-28 05:27:23,840 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:27:23,841 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:27:23,844 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:27:23,845 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:27:23,849 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:27:23,851 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:27:23" (1/1) ... [2022-04-28 05:27:23,852 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@689894c3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:23, skipping insertion in model container [2022-04-28 05:27:23,852 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:27:23" (1/1) ... [2022-04-28 05:27:23,858 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:27:23,873 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:27:24,016 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c[489,502] [2022-04-28 05:27:24,036 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:27:24,044 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:27:24,056 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c[489,502] [2022-04-28 05:27:24,064 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:27:24,077 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:27:24,077 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24 WrapperNode [2022-04-28 05:27:24,078 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:27:24,079 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:27:24,079 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:27:24,079 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:27:24,088 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,088 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,093 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,094 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,099 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,103 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,104 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,106 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:27:24,107 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:27:24,107 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:27:24,107 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:27:24,108 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (1/1) ... [2022-04-28 05:27:24,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:27:24,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:24,135 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 05:27:24,143 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 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:27:24,172 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:27:24,172 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:27:24,175 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:27:24,176 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:27:24,176 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:27:24,176 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:27:24,176 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:27:24,176 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:27:24,177 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:27:24,177 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:27:24,233 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:27:24,235 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:27:24,410 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:27:24,421 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:27:24,421 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 05:27:24,423 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:27:24 BoogieIcfgContainer [2022-04-28 05:27:24,423 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:27:24,424 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:27:24,425 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:27:24,429 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:27:24,430 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:27:23" (1/3) ... [2022-04-28 05:27:24,431 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72578627 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:27:24, skipping insertion in model container [2022-04-28 05:27:24,431 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:27:24" (2/3) ... [2022-04-28 05:27:24,433 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72578627 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:27:24, skipping insertion in model container [2022-04-28 05:27:24,433 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:27:24" (3/3) ... [2022-04-28 05:27:24,434 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound50.c [2022-04-28 05:27:24,448 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:27:24,449 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:27:24,495 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:27:24,501 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@5e0bb900, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@69e6681f [2022-04-28 05:27:24,501 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:27:24,509 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:27:24,516 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 05:27:24,516 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:24,517 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:24,517 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:24,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:24,521 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-28 05:27:24,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:24,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1942756852] [2022-04-28 05:27:24,539 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:24,539 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-28 05:27:24,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:24,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1017017891] [2022-04-28 05:27:24,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:24,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:24,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:24,704 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:27:24,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:24,733 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-28 05:27:24,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 05:27:24,733 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 05:27:24,734 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:27:24,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:24,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 05:27:24,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 05:27:24,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 05:27:24,752 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 05:27:24,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 05:27:24,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:24,767 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 05:27:24,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 05:27:24,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 05:27:24,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 05:27:24,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:27:24,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-28 05:27:24,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 05:27:24,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 05:27:24,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-28 05:27:24,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-28 05:27:24,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-28 05:27:24,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 05:27:24,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 05:27:24,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 05:27:24,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 05:27:24,777 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-28 05:27:24,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 05:27:24,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 05:27:24,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 05:27:24,778 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 05:27:24,779 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-28 05:27:24,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-28 05:27:24,780 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-28 05:27:24,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 05:27:24,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 05:27:24,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 05:27:24,781 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 05:27:24,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:24,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1017017891] [2022-04-28 05:27:24,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1017017891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:24,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:24,784 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:27:24,788 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:24,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1942756852] [2022-04-28 05:27:24,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1942756852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:24,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:24,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:27:24,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [205152606] [2022-04-28 05:27:24,792 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:24,798 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 05:27:24,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:24,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:24,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:24,842 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:27:24,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:24,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:27:24,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:27:24,876 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,143 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-28 05:27:25,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:27:25,144 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 05:27:25,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:25,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 05:27:25,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 05:27:25,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-28 05:27:25,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:25,317 INFO L225 Difference]: With dead ends: 64 [2022-04-28 05:27:25,317 INFO L226 Difference]: Without dead ends: 31 [2022-04-28 05:27:25,321 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:27:25,326 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:25,328 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:25,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-28 05:27:25,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-28 05:27:25,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:25,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,358 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,358 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,363 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 05:27:25,363 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 05:27:25,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:25,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:25,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-28 05:27:25,365 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-28 05:27:25,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,369 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 05:27:25,369 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 05:27:25,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:25,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:25,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:25,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:25,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 05:27:25,375 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-28 05:27:25,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:25,375 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 05:27:25,376 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 05:27:25,418 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 05:27:25,419 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 05:27:25,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 05:27:25,420 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:25,420 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:25,420 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:27:25,420 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:25,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:25,421 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-28 05:27:25,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:25,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1711015627] [2022-04-28 05:27:25,422 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:25,422 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-28 05:27:25,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:25,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1838077356] [2022-04-28 05:27:25,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:25,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:25,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:25,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:27:25,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:25,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,517 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:27:25,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:25,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 05:27:25,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 05:27:25,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 05:27:25,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,526 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 05:27:25,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:25,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 05:27:25,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 05:27:25,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 05:27:25,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {304#true} call ULTIMATE.init(); {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:27:25,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#(= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-28 05:27:25,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 05:27:25,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 05:27:25,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 05:27:25,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,540 INFO L272 TraceCheckUtils]: 11: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-28 05:27:25,540 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 05:27:25,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 05:27:25,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 05:27:25,541 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {309#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {309#(= ~counter~0 0)} is VALID [2022-04-28 05:27:25,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {309#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {318#(= |main_#t~post6| 0)} is VALID [2022-04-28 05:27:25,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {305#false} is VALID [2022-04-28 05:27:25,543 INFO L272 TraceCheckUtils]: 19: Hoare triple {305#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {305#false} is VALID [2022-04-28 05:27:25,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-28 05:27:25,544 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-28 05:27:25,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-28 05:27:25,556 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 05:27:25,556 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:25,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1838077356] [2022-04-28 05:27:25,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1838077356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:25,557 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:25,557 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:25,557 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:25,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1711015627] [2022-04-28 05:27:25,557 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1711015627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:25,557 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:25,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:25,558 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1559627518] [2022-04-28 05:27:25,558 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:25,559 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 05:27:25,559 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:25,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:25,589 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:25,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:25,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:25,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:27:25,590 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,855 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-28 05:27:25,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:27:25,856 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 05:27:25,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:25,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 05:27:25,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 05:27:25,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-28 05:27:25,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:25,950 INFO L225 Difference]: With dead ends: 42 [2022-04-28 05:27:25,951 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 05:27:25,951 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:27:25,954 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:25,955 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:25,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 05:27:25,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 05:27:25,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:25,968 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,968 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,969 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,974 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 05:27:25,975 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 05:27:25,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:25,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:25,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-28 05:27:25,987 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-28 05:27:25,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:25,989 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 05:27:25,989 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 05:27:25,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:25,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:25,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:25,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:25,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:27:25,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 05:27:25,993 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-28 05:27:25,993 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:25,993 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 05:27:25,993 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), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 05:27:25,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 05:27:26,039 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 05:27:26,039 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 05:27:26,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 05:27:26,040 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:26,040 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:26,040 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 05:27:26,041 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:26,041 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:26,041 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-28 05:27:26,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:26,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1597978299] [2022-04-28 05:27:26,042 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:26,042 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-28 05:27:26,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:26,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [397039563] [2022-04-28 05:27:26,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:26,043 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:26,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:26,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [32733169] [2022-04-28 05:27:26,066 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:26,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:26,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:26,071 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 05:27:26,108 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 05:27:26,135 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:27:26,136 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:26,137 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:27:26,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:26,154 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:28,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-28 05:27:28,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {537#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {537#true} is VALID [2022-04-28 05:27:28,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 05:27:28,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-28 05:27:28,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-28 05:27:28,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {537#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {537#true} is VALID [2022-04-28 05:27:28,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {537#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-28 05:27:28,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 05:27:28,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 05:27:28,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 05:27:28,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-28 05:27:28,632 INFO L272 TraceCheckUtils]: 11: Hoare triple {537#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-28 05:27:28,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 05:27:28,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 05:27:28,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 05:27:28,633 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-28 05:27:28,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {537#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:27:28,634 INFO L290 TraceCheckUtils]: 17: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:27:28,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:27:28,636 INFO L272 TraceCheckUtils]: 19: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:28,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:28,637 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-28 05:27:28,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-28 05:27:28,637 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 05:27:28,638 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:27:28,638 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:28,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [397039563] [2022-04-28 05:27:28,638 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:28,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [32733169] [2022-04-28 05:27:28,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [32733169] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:28,639 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:28,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:28,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:28,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1597978299] [2022-04-28 05:27:28,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1597978299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:28,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:28,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:28,640 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615062695] [2022-04-28 05:27:28,640 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:28,640 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 05:27:28,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:28,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 05:27:28,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:28,657 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:28,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:28,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:28,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:27:28,658 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 05:27:28,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:28,955 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-28 05:27:28,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:27:28,956 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 05:27:28,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:28,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 05:27:28,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:28,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 05:27:28,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:28,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 05:27:29,016 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 05:27:29,018 INFO L225 Difference]: With dead ends: 49 [2022-04-28 05:27:29,018 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 05:27:29,018 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:27:29,019 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:29,020 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:29,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 05:27:29,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 05:27:29,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:29,031 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:29,032 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:29,032 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:29,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:29,035 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 05:27:29,035 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 05:27:29,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:29,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:29,037 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 05:27:29,037 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 05:27:29,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:29,040 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 05:27:29,040 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 05:27:29,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:29,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:29,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:29,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:29,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:29,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-28 05:27:29,044 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-28 05:27:29,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:29,044 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-28 05:27:29,045 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 05:27:29,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-28 05:27:29,122 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 05:27:29,123 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 05:27:29,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 05:27:29,124 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:29,124 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:29,150 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 05:27:29,339 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:29,340 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:29,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:29,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-28 05:27:29,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:29,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1815038581] [2022-04-28 05:27:29,341 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:29,341 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-28 05:27:29,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:29,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1788561897] [2022-04-28 05:27:29,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:29,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:29,358 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:29,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [367836736] [2022-04-28 05:27:29,359 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:29,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:29,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:29,360 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 05:27:29,398 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 05:27:29,419 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:29,420 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:29,421 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:27:29,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:29,431 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:32,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-28 05:27:32,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {896#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {896#true} is VALID [2022-04-28 05:27:32,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 05:27:32,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-28 05:27:32,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-28 05:27:32,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {896#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {896#true} is VALID [2022-04-28 05:27:32,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-28 05:27:32,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 05:27:32,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 05:27:32,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 05:27:32,329 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-28 05:27:32,329 INFO L272 TraceCheckUtils]: 11: Hoare triple {896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-28 05:27:32,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 05:27:32,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 05:27:32,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 05:27:32,330 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-28 05:27:32,332 INFO L290 TraceCheckUtils]: 16: Hoare triple {896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:32,332 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:32,333 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:32,333 INFO L272 TraceCheckUtils]: 19: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {896#true} is VALID [2022-04-28 05:27:32,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 05:27:32,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 05:27:32,333 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 05:27:32,334 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {896#true} {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:32,336 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {974#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:32,337 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:32,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-28 05:27:32,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-28 05:27:32,338 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 05:27:32,338 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:27:32,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:32,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1788561897] [2022-04-28 05:27:32,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:32,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [367836736] [2022-04-28 05:27:32,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [367836736] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:32,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:32,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:32,339 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:32,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1815038581] [2022-04-28 05:27:32,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1815038581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:32,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:32,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:32,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1428304187] [2022-04-28 05:27:32,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:32,340 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 05:27:32,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:32,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 05:27:32,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:32,362 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:32,362 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:32,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:32,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:27:32,363 INFO L87 Difference]: Start difference. First operand 46 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 05:27:32,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:32,620 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-28 05:27:32,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:27:32,621 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 05:27:32,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:32,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 05:27:32,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:32,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 05:27:32,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:32,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 05:27:32,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:32,700 INFO L225 Difference]: With dead ends: 53 [2022-04-28 05:27:32,700 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 05:27:32,700 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:27:32,701 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:32,702 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:32,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 05:27:32,715 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 05:27:32,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:32,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:32,716 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:32,717 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:32,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:32,720 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 05:27:32,720 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 05:27:32,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:32,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:32,721 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-28 05:27:32,721 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-28 05:27:32,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:32,724 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 05:27:32,724 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 05:27:32,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:32,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:32,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:32,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:32,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 05:27:32,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-28 05:27:32,728 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-28 05:27:32,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:32,728 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-28 05:27:32,728 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 05:27:32,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-28 05:27:32,801 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:32,801 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 05:27:32,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:27:32,802 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:32,802 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:32,819 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 05:27:33,003 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,SelfDestructingSolverStorable3 [2022-04-28 05:27:33,004 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:33,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:33,004 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-28 05:27:33,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:33,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1952643605] [2022-04-28 05:27:33,005 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:33,005 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-28 05:27:33,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:33,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026630531] [2022-04-28 05:27:33,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:33,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:33,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:33,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [519460849] [2022-04-28 05:27:33,021 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:33,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:33,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:33,022 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 05:27:33,051 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 05:27:33,081 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:33,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:33,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:27:33,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:33,101 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:33,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 05:27:33,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-28 05:27:33,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 05:27:33,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 05:27:33,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-28 05:27:33,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:27:33,360 INFO L290 TraceCheckUtils]: 8: Hoare triple {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:27:33,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:27:33,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#true} #64#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-28 05:27:33,362 INFO L272 TraceCheckUtils]: 11: Hoare triple {1331#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,363 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-28 05:27:33,363 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:27:33,364 INFO L290 TraceCheckUtils]: 17: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:27:33,364 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:27:33,364 INFO L272 TraceCheckUtils]: 19: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,365 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,365 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,365 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,366 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:27:33,366 INFO L272 TraceCheckUtils]: 24: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,367 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:27:33,368 INFO L272 TraceCheckUtils]: 29: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:33,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:33,369 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 05:27:33,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 05:27:33,369 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 05:27:33,369 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:27:33,635 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 05:27:33,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 05:27:33,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:33,637 INFO L272 TraceCheckUtils]: 29: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:33,638 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:27:33,638 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,638 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,639 INFO L272 TraceCheckUtils]: 24: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,639 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:27:33,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,640 INFO L272 TraceCheckUtils]: 19: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:27:33,641 INFO L290 TraceCheckUtils]: 17: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:27:33,641 INFO L290 TraceCheckUtils]: 16: Hoare triple {1294#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:27:33,641 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L272 TraceCheckUtils]: 11: Hoare triple {1294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-28 05:27:33,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 05:27:33,643 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 05:27:33,643 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:33,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026630531] [2022-04-28 05:27:33,644 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:33,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [519460849] [2022-04-28 05:27:33,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [519460849] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:27:33,644 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:27:33,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 05:27:33,644 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:33,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1952643605] [2022-04-28 05:27:33,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1952643605] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:33,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:33,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:33,645 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [525135134] [2022-04-28 05:27:33,645 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:33,645 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:27:33,646 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:33,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:27:33,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:33,666 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:33,666 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:33,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:33,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:27:33,666 INFO L87 Difference]: Start difference. First operand 50 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:27:34,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,030 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-28 05:27:34,030 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:27:34,031 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:27:34,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:34,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:27:34,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:34,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:27:34,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:27:34,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 05:27:34,092 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 05:27:34,094 INFO L225 Difference]: With dead ends: 75 [2022-04-28 05:27:34,094 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 05:27:34,095 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:27:34,095 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:34,096 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:34,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 05:27:34,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 05:27:34,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:34,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:27:34,116 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:27:34,117 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:27:34,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,121 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 05:27:34,121 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 05:27:34,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:34,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:34,122 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 05:27:34,123 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 05:27:34,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,127 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 05:27:34,127 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 05:27:34,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:34,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:34,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:34,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:34,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:27:34,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-28 05:27:34,132 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-28 05:27:34,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:34,132 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-28 05:27:34,132 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:27:34,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-28 05:27:34,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:34,242 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 05:27:34,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 05:27:34,245 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:34,245 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:34,272 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 05:27:34,446 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:34,446 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:34,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:34,447 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-28 05:27:34,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:34,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2002527008] [2022-04-28 05:27:34,447 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:34,447 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-28 05:27:34,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:34,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1505253558] [2022-04-28 05:27:34,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:34,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:34,461 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:34,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1360014508] [2022-04-28 05:27:34,461 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:34,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:34,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:34,463 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 05:27:34,491 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 05:27:34,521 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:34,522 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:34,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:27:34,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:34,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:34,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {1936#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {1936#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1936#true} is VALID [2022-04-28 05:27:34,644 INFO L272 TraceCheckUtils]: 6: Hoare triple {1936#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L272 TraceCheckUtils]: 11: Hoare triple {1936#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-28 05:27:34,645 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 05:27:34,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 05:27:34,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,649 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-28 05:27:34,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {1936#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 50);havoc #t~post6; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L272 TraceCheckUtils]: 19: Hoare triple {1936#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-28 05:27:34,650 INFO L272 TraceCheckUtils]: 24: Hoare triple {1936#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 05:27:34,651 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 05:27:34,651 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 05:27:34,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,651 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-28 05:27:34,653 INFO L272 TraceCheckUtils]: 29: Hoare triple {1936#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1936#true} is VALID [2022-04-28 05:27:34,653 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 05:27:34,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 05:27:34,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 05:27:34,654 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-28 05:27:34,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:27:34,655 INFO L272 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:34,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:34,656 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-28 05:27:34,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-28 05:27:34,656 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 05:27:34,656 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:27:34,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:34,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1505253558] [2022-04-28 05:27:34,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:34,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1360014508] [2022-04-28 05:27:34,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1360014508] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:34,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:34,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:34,657 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:34,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2002527008] [2022-04-28 05:27:34,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2002527008] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:34,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:34,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:34,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [642265713] [2022-04-28 05:27:34,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:34,659 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-28 05:27:34,661 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:34,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 05:27:34,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:34,684 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:34,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:34,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:34,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:27:34,686 INFO L87 Difference]: Start difference. First operand 71 states and 100 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 05:27:34,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,866 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-28 05:27:34,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:27:34,867 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-28 05:27:34,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:34,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 05:27:34,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 05:27:34,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 05:27:34,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 05:27:34,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 05:27:34,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:34,928 INFO L225 Difference]: With dead ends: 87 [2022-04-28 05:27:34,928 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 05:27:34,929 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:27:34,929 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:34,930 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:27:34,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 05:27:34,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-28 05:27:34,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:34,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:34,965 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:34,965 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:34,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,969 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 05:27:34,970 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 05:27:34,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:34,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:34,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-28 05:27:34,971 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-28 05:27:34,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:34,975 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 05:27:34,975 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 05:27:34,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:34,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:34,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:34,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:34,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:34,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-28 05:27:34,980 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-28 05:27:34,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:34,981 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-28 05:27:34,981 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 05:27:34,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-28 05:27:35,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:35,106 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-28 05:27:35,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 05:27:35,106 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:35,106 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:35,124 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 05:27:35,311 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:35,311 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:35,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:35,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-28 05:27:35,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:35,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1914360064] [2022-04-28 05:27:35,312 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:35,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-28 05:27:35,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:35,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1479671250] [2022-04-28 05:27:35,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:35,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:35,326 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:35,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1870003147] [2022-04-28 05:27:35,326 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:35,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:35,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:35,328 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 05:27:35,335 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 05:27:35,393 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:35,393 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:35,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:27:35,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:35,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:35,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 05:27:35,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,583 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,585 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,585 INFO L272 TraceCheckUtils]: 11: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,586 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {2567#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 05:27:35,587 INFO L290 TraceCheckUtils]: 17: Hoare triple {2567#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,588 INFO L272 TraceCheckUtils]: 19: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,589 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,593 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,594 INFO L272 TraceCheckUtils]: 24: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,603 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,605 INFO L272 TraceCheckUtils]: 29: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,610 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,610 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,610 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 05:27:35,611 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2674#(<= |main_#t~post6| 1)} is VALID [2022-04-28 05:27:35,611 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-28 05:27:35,611 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-28 05:27:35,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 05:27:35,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 05:27:35,612 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 05:27:35,613 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 05:27:35,613 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:27:35,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 05:27:35,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 05:27:35,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 05:27:35,798 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-28 05:27:35,798 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-28 05:27:35,798 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 50)} is VALID [2022-04-28 05:27:35,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,800 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #72#return; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 05:27:35,800 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 05:27:35,800 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 05:27:35,800 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 05:27:35,801 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #70#return; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,801 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 05:27:35,801 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 05:27:35,801 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 05:27:35,801 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 05:27:35,802 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #68#return; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,802 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 05:27:35,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 05:27:35,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 05:27:35,802 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 05:27:35,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-28 05:27:35,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 49)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,804 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #66#return; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,804 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 05:27:35,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 05:27:35,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 05:27:35,804 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 05:27:35,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #64#return; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 05:27:35,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 05:27:35,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 05:27:35,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 05:27:35,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 49)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 49)} call #t~ret7 := main(); {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 49)} {2559#true} #82#return; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 49)} assume true; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2764#(< ~counter~0 49)} is VALID [2022-04-28 05:27:35,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 05:27:35,809 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 05:27:35,809 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:35,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1479671250] [2022-04-28 05:27:35,809 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:35,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1870003147] [2022-04-28 05:27:35,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1870003147] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:27:35,810 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:27:35,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 05:27:35,810 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:35,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1914360064] [2022-04-28 05:27:35,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1914360064] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:35,810 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:35,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:35,810 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2001491557] [2022-04-28 05:27:35,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:35,811 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-28 05:27:35,811 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:35,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:27:35,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:35,834 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:35,834 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:35,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:35,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:27:35,835 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:27:36,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:36,023 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-28 05:27:36,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:27:36,024 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-28 05:27:36,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:36,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:27:36,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 05:27:36,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:27:36,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 05:27:36,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-28 05:27:36,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:36,085 INFO L225 Difference]: With dead ends: 121 [2022-04-28 05:27:36,086 INFO L226 Difference]: Without dead ends: 102 [2022-04-28 05:27:36,086 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:27:36,087 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:36,087 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:27:36,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-28 05:27:36,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-28 05:27:36,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:36,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:36,148 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:36,148 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:36,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:36,152 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 05:27:36,152 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 05:27:36,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:36,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:36,153 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-28 05:27:36,154 INFO L87 Difference]: Start difference. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-28 05:27:36,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:36,158 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 05:27:36,158 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 05:27:36,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:36,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:36,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:36,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:36,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 05:27:36,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-28 05:27:36,164 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-28 05:27:36,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:36,164 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-28 05:27:36,164 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:27:36,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-28 05:27:36,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:36,304 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 05:27:36,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 05:27:36,304 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:36,304 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:36,321 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 05:27:36,505 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:36,505 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:36,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:36,505 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-28 05:27:36,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:36,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [410012193] [2022-04-28 05:27:36,506 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:36,506 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-28 05:27:36,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:36,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1464922028] [2022-04-28 05:27:36,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:36,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:36,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:36,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2024844289] [2022-04-28 05:27:36,520 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:36,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:36,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:36,522 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 05:27:36,534 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 05:27:36,576 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:36,577 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:36,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:27:36,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:36,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:39,820 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-28 05:27:39,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {3466#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3466#true} is VALID [2022-04-28 05:27:39,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {3466#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {3466#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-28 05:27:39,822 INFO L272 TraceCheckUtils]: 11: Hoare triple {3466#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-28 05:27:39,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 05:27:39,822 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 05:27:39,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,822 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-28 05:27:39,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {3466#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,824 INFO L272 TraceCheckUtils]: 19: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3466#true} is VALID [2022-04-28 05:27:39,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 05:27:39,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 05:27:39,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,825 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,825 INFO L272 TraceCheckUtils]: 24: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3466#true} is VALID [2022-04-28 05:27:39,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 05:27:39,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 05:27:39,825 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,826 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,826 INFO L272 TraceCheckUtils]: 29: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3466#true} is VALID [2022-04-28 05:27:39,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 05:27:39,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 05:27:39,826 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 05:27:39,827 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,828 INFO L290 TraceCheckUtils]: 34: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,828 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,829 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:39,830 INFO L272 TraceCheckUtils]: 38: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:39,830 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:39,831 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-28 05:27:39,831 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-28 05:27:39,831 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 05:27:39,831 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:27:39,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:39,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1464922028] [2022-04-28 05:27:39,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:39,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2024844289] [2022-04-28 05:27:39,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2024844289] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:39,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:39,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:39,833 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:39,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [410012193] [2022-04-28 05:27:39,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [410012193] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:39,833 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:39,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:27:39,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [793762879] [2022-04-28 05:27:39,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:39,834 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-28 05:27:39,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:39,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:27:39,860 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 05:27:39,860 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:27:39,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:39,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:27:39,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:27:39,861 INFO L87 Difference]: Start difference. First operand 100 states and 127 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:27:40,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:40,110 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-28 05:27:40,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:27:40,111 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-28 05:27:40,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:40,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:27:40,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 05:27:40,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:27:40,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 05:27:40,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-28 05:27:40,167 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 05:27:40,170 INFO L225 Difference]: With dead ends: 106 [2022-04-28 05:27:40,170 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 05:27:40,171 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:27:40,171 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:40,171 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:27:40,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 05:27:40,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 05:27:40,243 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:40,243 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:27:40,244 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:27:40,244 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:27:40,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:40,248 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 05:27:40,248 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 05:27:40,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:40,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:40,249 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-28 05:27:40,249 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-28 05:27:40,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:40,253 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 05:27:40,253 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 05:27:40,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:40,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:40,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:40,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:40,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:27:40,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-28 05:27:40,259 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-28 05:27:40,259 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:40,259 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-28 05:27:40,259 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, (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 05:27:40,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-28 05:27:40,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:40,395 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 05:27:40,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 05:27:40,395 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:40,395 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:40,412 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 05:27:40,599 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:40,600 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:40,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:40,600 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-28 05:27:40,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:40,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [679017611] [2022-04-28 05:27:40,601 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:40,601 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-28 05:27:40,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:40,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [592006530] [2022-04-28 05:27:40,601 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:40,601 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:40,618 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:40,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2058530393] [2022-04-28 05:27:40,619 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:27:40,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:40,619 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:40,620 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 05:27:40,624 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 05:27:40,660 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:27:40,661 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:40,662 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 05:27:40,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:40,672 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:40,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 05:27:40,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-28 05:27:40,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 05:27:40,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-28 05:27:40,853 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:40,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:40,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,853 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 05:27:40,856 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:40,860 INFO L290 TraceCheckUtils]: 26: Hoare triple {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:27:40,860 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:27:40,861 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:40,861 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,861 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:40,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:40,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,862 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:40,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:40,863 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:40,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:40,863 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:40,863 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:40,864 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:40,865 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:40,865 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:40,866 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 05:27:40,866 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 05:27:40,866 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 05:27:40,866 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:27:56,992 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 05:27:56,993 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 05:27:56,993 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:56,994 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:56,995 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:56,995 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:56,995 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:56,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:56,995 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:56,996 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:56,997 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:56,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:56,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:56,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:56,997 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:56,998 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:56,999 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:27:56,999 INFO L290 TraceCheckUtils]: 26: Hoare triple {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:27:57,000 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-28 05:27:57,000 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 05:27:57,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-28 05:27:57,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 05:27:57,003 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 05:27:57,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:57,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [592006530] [2022-04-28 05:27:57,003 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:57,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2058530393] [2022-04-28 05:27:57,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2058530393] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:27:57,003 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:27:57,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:27:57,004 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:57,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [679017611] [2022-04-28 05:27:57,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [679017611] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:57,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:57,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:27:57,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [640395558] [2022-04-28 05:27:57,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:57,005 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-28 05:27:57,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:57,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:57,033 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 05:27:57,034 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:27:57,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:57,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:27:57,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:27:57,035 INFO L87 Difference]: Start difference. First operand 103 states and 128 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:57,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:57,793 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-28 05:27:57,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:27:57,793 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-28 05:27:57,793 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:57,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:57,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 05:27:57,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:57,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 05:27:57,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-28 05:27:57,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:57,858 INFO L225 Difference]: With dead ends: 118 [2022-04-28 05:27:57,859 INFO L226 Difference]: Without dead ends: 106 [2022-04-28 05:27:57,859 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:27:57,860 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:57,860 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:27:57,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-28 05:27:57,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-28 05:27:57,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:57,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 05:27:57,914 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 05:27:57,914 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 05:27:57,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:57,918 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 05:27:57,919 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 05:27:57,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:57,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:57,920 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 05:27:57,920 INFO L87 Difference]: Start difference. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 05:27:57,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:57,923 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 05:27:57,923 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 05:27:57,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:57,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:57,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:57,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:57,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 05:27:57,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-28 05:27:57,927 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-28 05:27:57,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:57,928 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-28 05:27:57,928 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:57,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-28 05:27:58,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:58,078 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 05:27:58,079 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:27:58,079 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:58,079 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:58,096 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 05:27:58,283 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:58,284 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:27:58,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:27:58,284 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-28 05:27:58,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:58,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [318368355] [2022-04-28 05:27:58,284 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:27:58,285 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-28 05:27:58,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:27:58,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914375835] [2022-04-28 05:27:58,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:27:58,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:27:58,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:27:58,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1714431031] [2022-04-28 05:27:58,297 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:27:58,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:27:58,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:27:58,298 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 05:27:58,328 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 05:27:58,354 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:27:58,355 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:27:58,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 05:27:58,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:27:58,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:27:58,671 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,673 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 05:27:58,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,675 INFO L272 TraceCheckUtils]: 19: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,675 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,675 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,676 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,676 INFO L272 TraceCheckUtils]: 24: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,676 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,676 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,691 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,691 INFO L272 TraceCheckUtils]: 29: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,694 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,695 INFO L290 TraceCheckUtils]: 34: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:27:58,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 05:27:58,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 05:27:58,696 INFO L290 TraceCheckUtils]: 37: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 05:27:58,696 INFO L272 TraceCheckUtils]: 38: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,698 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #68#return; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 05:27:58,699 INFO L272 TraceCheckUtils]: 43: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:58,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:58,699 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 05:27:58,699 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 05:27:58,700 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 05:27:58,700 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:27:58,909 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 05:27:58,909 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 05:27:58,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:27:58,910 INFO L272 TraceCheckUtils]: 43: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:27:58,911 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:58,911 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:58,911 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:58,911 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:58,911 INFO L272 TraceCheckUtils]: 38: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:58,912 INFO L290 TraceCheckUtils]: 37: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:58,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:59,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:27:59,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,068 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:59,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:59,068 INFO L272 TraceCheckUtils]: 29: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:59,069 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:59,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:59,069 INFO L272 TraceCheckUtils]: 24: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:59,070 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,070 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:59,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:59,070 INFO L272 TraceCheckUtils]: 19: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:59,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,071 INFO L290 TraceCheckUtils]: 17: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:27:59,072 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-28 05:27:59,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 05:27:59,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 05:27:59,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 05:27:59,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-28 05:27:59,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 05:27:59,073 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 05:27:59,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:27:59,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914375835] [2022-04-28 05:27:59,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:27:59,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1714431031] [2022-04-28 05:27:59,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1714431031] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:27:59,073 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:27:59,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 05:27:59,074 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:27:59,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [318368355] [2022-04-28 05:27:59,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [318368355] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:27:59,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:27:59,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:27:59,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [960456979] [2022-04-28 05:27:59,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:27:59,075 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-28 05:27:59,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:27:59,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:59,118 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 05:27:59,118 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:27:59,118 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:27:59,118 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:27:59,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:27:59,119 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:59,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:59,572 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-28 05:27:59,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:27:59,572 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-28 05:27:59,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:27:59,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:59,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 05:27:59,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:59,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 05:27:59,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 05:27:59,648 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 05:27:59,655 INFO L225 Difference]: With dead ends: 131 [2022-04-28 05:27:59,655 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 05:27:59,656 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:27:59,657 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 9 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:27:59,658 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 168 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:27:59,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 05:27:59,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-28 05:27:59,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:27:59,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 05:27:59,721 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 05:27:59,721 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 05:27:59,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:59,725 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 05:27:59,725 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 05:27:59,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:59,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:59,726 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-28 05:27:59,726 INFO L87 Difference]: Start difference. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-28 05:27:59,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:27:59,730 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 05:27:59,730 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 05:27:59,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:27:59,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:27:59,731 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:27:59,731 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:27:59,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 05:27:59,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-28 05:27:59,735 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-28 05:27:59,735 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:27:59,736 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-28 05:27:59,736 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 05:27:59,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-28 05:27:59,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:27:59,923 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-28 05:27:59,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 05:27:59,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:27:59,924 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:27:59,945 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 05:28:00,135 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,SelfDestructingSolverStorable9 [2022-04-28 05:28:00,136 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:28:00,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:28:00,136 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-28 05:28:00,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:28:00,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1098477432] [2022-04-28 05:28:00,136 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:28:00,136 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-28 05:28:00,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:28:00,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [294451505] [2022-04-28 05:28:00,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:28:00,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:28:00,149 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:28:00,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [207071391] [2022-04-28 05:28:00,150 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:28:00,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:28:00,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:28:00,156 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 05:28:00,158 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 05:28:00,195 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:28:00,195 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:28:00,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 05:28:00,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:28:00,208 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:28:00,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:00,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,669 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-28 05:28:00,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,671 INFO L272 TraceCheckUtils]: 19: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:00,671 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:00,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,672 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,672 INFO L272 TraceCheckUtils]: 24: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:00,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:00,672 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,673 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,673 INFO L272 TraceCheckUtils]: 29: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:28:00,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:00,674 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:00,675 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,676 INFO L290 TraceCheckUtils]: 34: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,676 INFO L290 TraceCheckUtils]: 35: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,677 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,678 INFO L272 TraceCheckUtils]: 38: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,678 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:00,678 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:00,678 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:00,679 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:28:00,679 INFO L272 TraceCheckUtils]: 43: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:00,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:28:00,680 INFO L290 TraceCheckUtils]: 45: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:00,680 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:00,681 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-28 05:28:00,682 INFO L272 TraceCheckUtils]: 48: Hoare triple {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:28:00,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:28:00,682 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-28 05:28:00,682 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-28 05:28:00,683 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 23 proven. 10 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 05:28:00,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:28:56,064 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-28 05:28:56,064 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-28 05:28:56,065 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:28:56,066 INFO L272 TraceCheckUtils]: 48: Hoare triple {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:28:56,067 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:28:56,067 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:56,067 INFO L290 TraceCheckUtils]: 45: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:56,068 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:28:56,068 INFO L272 TraceCheckUtils]: 43: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,069 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,069 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,069 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:56,069 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:56,069 INFO L272 TraceCheckUtils]: 38: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,070 INFO L290 TraceCheckUtils]: 37: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,990 INFO L290 TraceCheckUtils]: 35: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,991 INFO L290 TraceCheckUtils]: 34: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,992 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6215#true} #72#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:28:56,992 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:56,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:28:56,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:28:56,993 INFO L272 TraceCheckUtils]: 29: Hoare triple {6215#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6215#true} #70#return; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L272 TraceCheckUtils]: 24: Hoare triple {6215#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6215#true} #68#return; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L272 TraceCheckUtils]: 19: Hoare triple {6215#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {6215#true} assume !!(#t~post6 < 50);havoc #t~post6; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {6215#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6215#true} is VALID [2022-04-28 05:28:56,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-28 05:28:56,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 05:28:56,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-28 05:28:56,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-28 05:28:56,995 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 05:28:56,995 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:28:56,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [294451505] [2022-04-28 05:28:56,995 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:28:56,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [207071391] [2022-04-28 05:28:56,995 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [207071391] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:28:56,995 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:28:56,995 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 05:28:56,996 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:28:56,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1098477432] [2022-04-28 05:28:56,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1098477432] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:28:56,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:28:56,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:28:56,996 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [105601836] [2022-04-28 05:28:56,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:28:56,996 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-28 05:28:56,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:28:56,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 05:28:57,043 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 05:28:57,044 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:28:57,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:28:57,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:28:57,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:28:57,045 INFO L87 Difference]: Start difference. First operand 124 states and 158 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 05:28:57,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:57,949 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-28 05:28:57,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:28:57,949 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-28 05:28:57,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:28:57,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 05:28:57,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 05:28:57,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 05:28:57,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 05:28:57,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-28 05:28:58,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:28:58,056 INFO L225 Difference]: With dead ends: 160 [2022-04-28 05:28:58,056 INFO L226 Difference]: Without dead ends: 153 [2022-04-28 05:28:58,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:28:58,057 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 22 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:28:58,057 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 147 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:28:58,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-28 05:28:58,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-28 05:28:58,133 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:28:58,133 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:58,134 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:58,134 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:58,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:58,139 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 05:28:58,139 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 05:28:58,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:28:58,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:28:58,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-28 05:28:58,141 INFO L87 Difference]: Start difference. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-28 05:28:58,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:58,146 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 05:28:58,146 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 05:28:58,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:28:58,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:28:58,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:28:58,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:28:58,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:58,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-28 05:28:58,152 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-28 05:28:58,152 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:28:58,152 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-28 05:28:58,152 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 05:28:58,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-28 05:28:58,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:28:58,422 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 05:28:58,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 05:28:58,423 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:28:58,423 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:28:58,449 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 05:28:58,624 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:28:58,624 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:28:58,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:28:58,624 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-28 05:28:58,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:28:58,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1408643185] [2022-04-28 05:28:58,625 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:28:58,625 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-28 05:28:58,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:28:58,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [382471264] [2022-04-28 05:28:58,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:28:58,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:28:58,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:28:58,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [869575349] [2022-04-28 05:28:58,638 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:28:58,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:28:58,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:28:58,639 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 05:28:58,648 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 05:28:58,692 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:28:58,692 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:28:58,693 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:28:58,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:28:58,705 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:28:58,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-28 05:28:58,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= ~counter~0 0)} {7474#true} #82#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {7482#(<= ~counter~0 0)} call #t~ret7 := main(); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {7482#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #64#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,941 INFO L272 TraceCheckUtils]: 11: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #66#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {7482#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 05:28:58,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {7482#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,944 INFO L272 TraceCheckUtils]: 19: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,945 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #68#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,946 INFO L272 TraceCheckUtils]: 24: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,947 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #70#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,948 INFO L272 TraceCheckUtils]: 29: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,949 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #72#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,950 INFO L290 TraceCheckUtils]: 34: Hoare triple {7531#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {7531#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 05:28:58,950 INFO L290 TraceCheckUtils]: 36: Hoare triple {7531#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {7589#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,951 INFO L272 TraceCheckUtils]: 38: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,952 INFO L290 TraceCheckUtils]: 41: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,953 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #68#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,953 INFO L272 TraceCheckUtils]: 43: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,953 INFO L290 TraceCheckUtils]: 44: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,954 INFO L290 TraceCheckUtils]: 45: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,954 INFO L290 TraceCheckUtils]: 46: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,955 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #70#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,956 INFO L272 TraceCheckUtils]: 48: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,956 INFO L290 TraceCheckUtils]: 49: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,956 INFO L290 TraceCheckUtils]: 50: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,957 INFO L290 TraceCheckUtils]: 51: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,957 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #72#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {7589#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,958 INFO L290 TraceCheckUtils]: 54: Hoare triple {7589#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 05:28:58,959 INFO L290 TraceCheckUtils]: 55: Hoare triple {7589#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7647#(<= |main_#t~post6| 2)} is VALID [2022-04-28 05:28:58,959 INFO L290 TraceCheckUtils]: 56: Hoare triple {7647#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-28 05:28:58,959 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-28 05:28:58,959 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-28 05:28:58,959 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-28 05:28:58,959 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-28 05:28:58,960 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 47 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 05:28:58,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:28:59,227 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-28 05:28:59,228 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-28 05:28:59,228 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-28 05:28:59,228 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-28 05:28:59,229 INFO L290 TraceCheckUtils]: 56: Hoare triple {7675#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-28 05:28:59,229 INFO L290 TraceCheckUtils]: 55: Hoare triple {7679#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7675#(< |main_#t~post6| 50)} is VALID [2022-04-28 05:28:59,229 INFO L290 TraceCheckUtils]: 54: Hoare triple {7679#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,229 INFO L290 TraceCheckUtils]: 53: Hoare triple {7679#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,230 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #72#return; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,230 INFO L290 TraceCheckUtils]: 51: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,230 INFO L272 TraceCheckUtils]: 48: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,231 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #70#return; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,231 INFO L290 TraceCheckUtils]: 46: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,231 INFO L272 TraceCheckUtils]: 43: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,232 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #68#return; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,232 INFO L272 TraceCheckUtils]: 38: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,232 INFO L290 TraceCheckUtils]: 37: Hoare triple {7679#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {7737#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-28 05:28:59,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {7737#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {7737#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,234 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #72#return; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,234 INFO L290 TraceCheckUtils]: 32: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,234 INFO L272 TraceCheckUtils]: 29: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,235 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #70#return; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,235 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #68#return; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,236 INFO L272 TraceCheckUtils]: 19: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {7737#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {7795#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-28 05:28:59,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {7795#(< ~counter~0 48)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,237 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #66#return; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,237 INFO L272 TraceCheckUtils]: 11: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #64#return; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 05:28:59,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 05:28:59,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 05:28:59,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-28 05:28:59,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {7795#(< ~counter~0 48)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {7795#(< ~counter~0 48)} call #t~ret7 := main(); {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7795#(< ~counter~0 48)} {7474#true} #82#return; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {7795#(< ~counter~0 48)} assume true; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7795#(< ~counter~0 48)} is VALID [2022-04-28 05:28:59,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-28 05:28:59,240 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 11 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 05:28:59,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:28:59,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [382471264] [2022-04-28 05:28:59,240 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:28:59,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [869575349] [2022-04-28 05:28:59,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [869575349] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:28:59,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:28:59,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 05:28:59,241 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:28:59,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1408643185] [2022-04-28 05:28:59,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1408643185] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:28:59,241 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:28:59,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:28:59,241 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [905374837] [2022-04-28 05:28:59,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:28:59,241 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 05:28:59,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:28:59,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:28:59,274 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:28:59,274 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:28:59,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:28:59,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:28:59,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:28:59,275 INFO L87 Difference]: Start difference. First operand 153 states and 198 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:28:59,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:59,546 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-28 05:28:59,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:28:59,547 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 05:28:59,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:28:59,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:28:59,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 05:28:59,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:28:59,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 05:28:59,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 05:28:59,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:28:59,630 INFO L225 Difference]: With dead ends: 199 [2022-04-28 05:28:59,630 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 05:28:59,631 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:28:59,631 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 15 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:28:59,631 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 121 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:28:59,632 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 05:28:59,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 05:28:59,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:28:59,766 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:59,767 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:59,767 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:59,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:59,774 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 05:28:59,774 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 05:28:59,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:28:59,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:28:59,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 05:28:59,776 INFO L87 Difference]: Start difference. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 05:28:59,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:28:59,782 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 05:28:59,782 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 05:28:59,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:28:59,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:28:59,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:28:59,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:28:59,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:28:59,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-28 05:28:59,792 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-28 05:28:59,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:28:59,792 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-28 05:28:59,793 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:28:59,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-28 05:29:00,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:00,061 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 05:29:00,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 05:29:00,061 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:29:00,061 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:29:00,080 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 05:29:00,263 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,SelfDestructingSolverStorable11 [2022-04-28 05:29:00,263 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:29:00,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:29:00,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-28 05:29:00,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:29:00,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [821597187] [2022-04-28 05:29:00,264 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:29:00,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-28 05:29:00,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:29:00,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656888310] [2022-04-28 05:29:00,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:29:00,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:29:00,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:29:00,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [82951487] [2022-04-28 05:29:00,278 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:29:00,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:29:00,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:29:00,280 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 05:29:00,306 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 05:29:00,343 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:29:00,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:29:00,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 05:29:00,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:29:00,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:29:00,692 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-28 05:29:00,694 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,694 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,694 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,694 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-28 05:29:00,695 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,695 INFO L290 TraceCheckUtils]: 17: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,696 INFO L272 TraceCheckUtils]: 19: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,696 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,697 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,697 INFO L272 TraceCheckUtils]: 24: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,698 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,698 INFO L272 TraceCheckUtils]: 29: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,699 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,702 INFO L272 TraceCheckUtils]: 38: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,703 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,703 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,704 INFO L272 TraceCheckUtils]: 43: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,704 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,704 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,704 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,705 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,705 INFO L272 TraceCheckUtils]: 48: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,705 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,706 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,706 INFO L290 TraceCheckUtils]: 53: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:29:00,707 INFO L290 TraceCheckUtils]: 54: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,708 INFO L290 TraceCheckUtils]: 55: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,708 INFO L290 TraceCheckUtils]: 56: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:00,709 INFO L272 TraceCheckUtils]: 57: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:29:00,709 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:00,710 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-28 05:29:00,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-28 05:29:00,711 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 05:29:00,711 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:29:00,954 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-28 05:29:00,955 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-28 05:29:00,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:00,956 INFO L272 TraceCheckUtils]: 57: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:29:00,956 INFO L290 TraceCheckUtils]: 56: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,956 INFO L290 TraceCheckUtils]: 55: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,959 INFO L290 TraceCheckUtils]: 54: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,959 INFO L290 TraceCheckUtils]: 53: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,960 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,960 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,960 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,960 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,960 INFO L272 TraceCheckUtils]: 48: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,961 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,961 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,961 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,961 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,961 INFO L272 TraceCheckUtils]: 43: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,972 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,972 INFO L272 TraceCheckUtils]: 38: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,973 INFO L290 TraceCheckUtils]: 37: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,973 INFO L290 TraceCheckUtils]: 36: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,978 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,978 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,978 INFO L272 TraceCheckUtils]: 29: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,979 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,979 INFO L272 TraceCheckUtils]: 24: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,980 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,980 INFO L272 TraceCheckUtils]: 19: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,981 INFO L290 TraceCheckUtils]: 17: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:29:00,982 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 05:29:00,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-28 05:29:00,983 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-28 05:29:00,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:29:00,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656888310] [2022-04-28 05:29:00,984 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:29:00,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [82951487] [2022-04-28 05:29:00,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [82951487] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:29:00,984 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:29:00,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 05:29:00,984 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:29:00,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [821597187] [2022-04-28 05:29:00,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [821597187] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:29:00,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:29:00,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:29:00,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096715698] [2022-04-28 05:29:00,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:29:00,985 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-28 05:29:00,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:29:00,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:29:01,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:01,017 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:29:01,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:29:01,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:29:01,017 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:29:01,017 INFO L87 Difference]: Start difference. First operand 173 states and 215 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:29:01,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:01,254 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-28 05:29:01,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:29:01,254 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-28 05:29:01,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:29:01,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:29:01,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 05:29:01,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:29:01,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 05:29:01,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-28 05:29:01,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:01,300 INFO L225 Difference]: With dead ends: 179 [2022-04-28 05:29:01,300 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 05:29:01,300 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:29:01,302 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:29:01,302 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:29:01,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 05:29:01,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-28 05:29:01,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:29:01,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:29:01,418 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:29:01,419 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:29:01,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:01,423 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 05:29:01,423 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 05:29:01,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:29:01,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:29:01,424 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-28 05:29:01,425 INFO L87 Difference]: Start difference. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-28 05:29:01,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:01,429 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 05:29:01,430 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 05:29:01,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:29:01,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:29:01,430 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:29:01,430 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:29:01,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:29:01,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-28 05:29:01,435 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-28 05:29:01,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:29:01,436 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-28 05:29:01,436 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, (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 05:29:01,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-28 05:29:01,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:01,709 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-28 05:29:01,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 05:29:01,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:29:01,710 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:29:01,729 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 05:29:01,919 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,SelfDestructingSolverStorable12 [2022-04-28 05:29:01,919 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:29:01,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:29:01,920 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-28 05:29:01,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:29:01,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [766736281] [2022-04-28 05:29:01,920 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:29:01,920 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-28 05:29:01,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:29:01,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1238474225] [2022-04-28 05:29:01,921 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:29:01,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:29:01,933 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:29:01,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [359705559] [2022-04-28 05:29:01,933 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:29:01,933 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:29:01,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:29:01,934 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 05:29:01,940 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 05:29:02,005 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:29:02,005 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:29:02,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 05:29:02,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:29:02,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:29:02,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-28 05:29:02,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,477 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-28 05:29:02,478 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,479 INFO L272 TraceCheckUtils]: 19: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,479 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,480 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,480 INFO L272 TraceCheckUtils]: 24: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,480 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,480 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,481 INFO L272 TraceCheckUtils]: 29: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,481 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,481 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,483 INFO L272 TraceCheckUtils]: 38: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,483 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,483 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,484 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,484 INFO L272 TraceCheckUtils]: 43: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,484 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:02,485 INFO L290 TraceCheckUtils]: 45: Hoare triple {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:02,485 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:02,486 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,486 INFO L272 TraceCheckUtils]: 48: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,486 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,486 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,486 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:29:02,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,488 INFO L290 TraceCheckUtils]: 55: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,489 INFO L272 TraceCheckUtils]: 57: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:02,489 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:02,489 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:02,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:02,489 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #68#return; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:29:02,490 INFO L272 TraceCheckUtils]: 62: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:29:02,490 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:02,491 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-28 05:29:02,491 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-28 05:29:02,491 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 25 proven. 22 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-28 05:29:02,491 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:29:34,740 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-28 05:29:34,741 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-28 05:29:34,741 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:34,742 INFO L272 TraceCheckUtils]: 62: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:29:34,742 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:29:34,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:34,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:34,743 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:34,743 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:34,743 INFO L290 TraceCheckUtils]: 56: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:29:34,743 INFO L290 TraceCheckUtils]: 55: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:29:36,745 WARN L290 TraceCheckUtils]: 54: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 05:29:36,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:29:36,747 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:29:36,747 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,747 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,747 INFO L272 TraceCheckUtils]: 48: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,748 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:29:36,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:36,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:36,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:29:36,749 INFO L272 TraceCheckUtils]: 43: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,749 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:29:36,750 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,750 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,750 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,750 INFO L272 TraceCheckUtils]: 38: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:29:36,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:29:36,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:29:36,945 INFO L290 TraceCheckUtils]: 34: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,946 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,946 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,946 INFO L272 TraceCheckUtils]: 29: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,946 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #70#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,947 INFO L272 TraceCheckUtils]: 24: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,947 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #68#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,948 INFO L272 TraceCheckUtils]: 19: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(#t~post6 < 50);havoc #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:29:36,949 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-28 05:29:36,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-28 05:29:36,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-28 05:29:36,951 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 29 proven. 18 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-28 05:29:36,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:29:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1238474225] [2022-04-28 05:29:36,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:29:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [359705559] [2022-04-28 05:29:36,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [359705559] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:29:36,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:29:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 05:29:36,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:29:36,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [766736281] [2022-04-28 05:29:36,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [766736281] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:29:36,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:29:36,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:29:36,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089752148] [2022-04-28 05:29:36,952 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:29:36,952 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 05:29:36,953 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:29:36,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:29:36,993 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 05:29:36,993 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:29:36,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:29:36,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:29:36,993 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:29:36,994 INFO L87 Difference]: Start difference. First operand 172 states and 208 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:29:38,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:38,139 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-28 05:29:38,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:29:38,139 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 05:29:38,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:29:38,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:29:38,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:29:38,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:29:38,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:29:38,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 05:29:38,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:38,255 INFO L225 Difference]: With dead ends: 199 [2022-04-28 05:29:38,255 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 05:29:38,255 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 118 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:29:38,256 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 15 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:29:38,256 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 190 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:29:38,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 05:29:38,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-28 05:29:38,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:29:38,388 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:29:38,389 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:29:38,389 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:29:38,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:38,394 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 05:29:38,395 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 05:29:38,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:29:38,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:29:38,396 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-28 05:29:38,396 INFO L87 Difference]: Start difference. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-28 05:29:38,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:29:38,403 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 05:29:38,403 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 05:29:38,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:29:38,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:29:38,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:29:38,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:29:38,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:29:38,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-28 05:29:38,410 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-28 05:29:38,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:29:38,410 INFO L495 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-28 05:29:38,410 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:29:38,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-28 05:29:38,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:29:38,735 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-28 05:29:38,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 05:29:38,735 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:29:38,736 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:29:38,761 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 05:29:38,947 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,SelfDestructingSolverStorable13 [2022-04-28 05:29:38,947 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:29:38,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:29:38,948 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-28 05:29:38,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:29:38,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [185321260] [2022-04-28 05:29:38,948 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:29:38,948 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-28 05:29:38,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:29:38,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1395241719] [2022-04-28 05:29:38,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:29:38,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:29:38,959 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:29:38,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2039913113] [2022-04-28 05:29:38,960 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:29:38,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:29:38,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:29:38,961 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 05:29:38,963 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 05:29:39,008 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:29:39,008 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:29:39,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 05:29:39,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:29:39,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:29:39,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-28 05:29:39,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-28 05:29:39,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-28 05:29:39,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-28 05:29:39,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,586 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-28 05:29:39,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,588 INFO L290 TraceCheckUtils]: 17: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,588 INFO L272 TraceCheckUtils]: 19: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,589 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,589 INFO L272 TraceCheckUtils]: 24: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,590 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,590 INFO L272 TraceCheckUtils]: 29: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:39,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:39,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:39,592 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,593 INFO L290 TraceCheckUtils]: 35: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,594 INFO L290 TraceCheckUtils]: 36: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,594 INFO L290 TraceCheckUtils]: 37: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,594 INFO L272 TraceCheckUtils]: 38: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,594 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,595 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,595 INFO L272 TraceCheckUtils]: 43: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,595 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,596 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,596 INFO L272 TraceCheckUtils]: 48: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,597 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:39,597 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:39,597 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:29:39,598 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,598 INFO L290 TraceCheckUtils]: 53: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:29:39,599 INFO L290 TraceCheckUtils]: 54: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 05:29:39,600 INFO L290 TraceCheckUtils]: 55: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 05:29:39,600 INFO L290 TraceCheckUtils]: 56: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 05:29:39,600 INFO L272 TraceCheckUtils]: 57: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:29:39,601 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:29:39,601 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:29:39,601 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:29:39,601 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #68#return; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 05:29:39,602 INFO L272 TraceCheckUtils]: 62: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:29:39,603 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:29:39,603 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-28 05:29:39,603 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-28 05:29:39,603 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-28 05:29:39,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:30:24,501 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-28 05:30:24,502 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-28 05:30:24,502 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:24,503 INFO L272 TraceCheckUtils]: 62: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:30:24,519 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:30:24,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:24,520 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:24,520 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:24,520 INFO L272 TraceCheckUtils]: 57: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:24,520 INFO L290 TraceCheckUtils]: 56: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:30:24,521 INFO L290 TraceCheckUtils]: 55: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:30:26,523 WARN L290 TraceCheckUtils]: 54: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 05:30:26,524 INFO L290 TraceCheckUtils]: 53: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:30:26,525 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:30:26,525 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:26,525 INFO L290 TraceCheckUtils]: 50: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:26,526 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:30:26,526 INFO L272 TraceCheckUtils]: 48: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,527 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:30:26,527 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,527 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,527 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,527 INFO L272 TraceCheckUtils]: 43: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,527 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:30:26,528 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,528 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,528 INFO L272 TraceCheckUtils]: 38: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,528 INFO L290 TraceCheckUtils]: 37: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:30:26,529 INFO L290 TraceCheckUtils]: 36: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:30:26,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:30:26,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-28 05:30:26,756 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11935#true} #72#return; {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-28 05:30:26,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:26,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:26,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:30:26,757 INFO L272 TraceCheckUtils]: 29: Hoare triple {11935#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11935#true} #70#return; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L272 TraceCheckUtils]: 24: Hoare triple {11935#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11935#true} #68#return; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L272 TraceCheckUtils]: 19: Hoare triple {11935#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 18: Hoare triple {11935#true} assume !!(#t~post6 < 50);havoc #t~post6; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 17: Hoare triple {11935#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-28 05:30:26,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-28 05:30:26,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-28 05:30:26,760 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 43 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-28 05:30:26,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:30:26,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1395241719] [2022-04-28 05:30:26,760 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:30:26,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2039913113] [2022-04-28 05:30:26,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2039913113] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:30:26,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:30:26,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 05:30:26,761 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:30:26,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [185321260] [2022-04-28 05:30:26,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [185321260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:30:26,761 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:30:26,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:30:26,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1436509998] [2022-04-28 05:30:26,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:30:26,761 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 05:30:26,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:30:26,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:30:26,816 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 05:30:26,816 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:30:26,816 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:30:26,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:30:26,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:30:26,817 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:30:28,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:28,024 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 05:30:28,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:30:28,025 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-28 05:30:28,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:30:28,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:30:28,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:30:28,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:30:28,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:30:28,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 05:30:28,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:30:28,134 INFO L225 Difference]: With dead ends: 208 [2022-04-28 05:30:28,134 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 05:30:28,135 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:30:28,135 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:30:28,135 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 198 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:30:28,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 05:30:28,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-28 05:30:28,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:30:28,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 05:30:28,243 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 05:30:28,243 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 05:30:28,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:28,249 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 05:30:28,249 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 05:30:28,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:30:28,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:30:28,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-28 05:30:28,251 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-28 05:30:28,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:28,256 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 05:30:28,256 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 05:30:28,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:30:28,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:30:28,257 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:30:28,257 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:30:28,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 05:30:28,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-28 05:30:28,263 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-28 05:30:28,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:30:28,263 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-28 05:30:28,264 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:30:28,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-28 05:30:28,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:30:28,593 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-28 05:30:28,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 05:30:28,594 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:30:28,594 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:30:28,622 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 05:30:28,795 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,SelfDestructingSolverStorable14 [2022-04-28 05:30:28,795 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:30:28,795 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:30:28,795 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-28 05:30:28,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:30:28,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1376455748] [2022-04-28 05:30:28,796 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:30:28,796 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-28 05:30:28,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:30:28,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [290139152] [2022-04-28 05:30:28,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:30:28,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:30:28,806 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:30:28,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [360641831] [2022-04-28 05:30:28,806 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:30:28,806 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:30:28,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:30:28,808 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 05:30:28,811 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 05:30:28,862 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:30:28,862 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:30:28,864 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 05:30:28,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:30:28,881 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:30:29,267 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,269 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,269 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,269 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-28 05:30:29,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,270 INFO L272 TraceCheckUtils]: 19: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,271 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,271 INFO L272 TraceCheckUtils]: 24: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,271 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,272 INFO L272 TraceCheckUtils]: 29: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,272 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,272 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,273 INFO L290 TraceCheckUtils]: 34: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,273 INFO L290 TraceCheckUtils]: 35: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,274 INFO L290 TraceCheckUtils]: 36: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,274 INFO L272 TraceCheckUtils]: 38: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,274 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,275 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,276 INFO L272 TraceCheckUtils]: 43: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:29,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:29,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:29,278 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,278 INFO L272 TraceCheckUtils]: 48: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,278 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,278 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,278 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,279 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,279 INFO L290 TraceCheckUtils]: 53: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:30:29,282 INFO L290 TraceCheckUtils]: 54: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 05:30:29,282 INFO L290 TraceCheckUtils]: 55: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 05:30:29,282 INFO L290 TraceCheckUtils]: 56: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 50);havoc #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 05:30:29,283 INFO L272 TraceCheckUtils]: 57: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,283 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,283 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,283 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,287 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 05:30:29,287 INFO L272 TraceCheckUtils]: 62: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:29,287 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:29,287 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:29,287 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:29,288 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-28 05:30:29,289 INFO L272 TraceCheckUtils]: 67: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:30:29,289 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:29,289 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-28 05:30:29,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-28 05:30:29,290 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 27 proven. 27 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 05:30:29,290 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:30:56,827 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-28 05:30:56,831 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-28 05:30:56,832 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:56,833 INFO L272 TraceCheckUtils]: 67: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:30:56,834 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,834 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,834 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,834 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,834 INFO L272 TraceCheckUtils]: 62: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,835 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,835 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,835 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,835 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,835 INFO L272 TraceCheckUtils]: 57: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,836 INFO L290 TraceCheckUtils]: 56: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,836 INFO L290 TraceCheckUtils]: 55: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,985 INFO L290 TraceCheckUtils]: 54: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,986 INFO L290 TraceCheckUtils]: 53: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:30:56,987 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #72#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:30:56,987 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,987 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,987 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,987 INFO L272 TraceCheckUtils]: 48: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,988 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:30:56,989 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:56,989 INFO L290 TraceCheckUtils]: 45: Hoare triple {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:56,989 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:30:56,989 INFO L272 TraceCheckUtils]: 43: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,990 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:30:56,990 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,991 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,991 INFO L272 TraceCheckUtils]: 38: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,991 INFO L290 TraceCheckUtils]: 37: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:30:56,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:30:56,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:30:56,994 INFO L290 TraceCheckUtils]: 34: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,994 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,995 INFO L272 TraceCheckUtils]: 29: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,995 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,996 INFO L272 TraceCheckUtils]: 24: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,997 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,997 INFO L272 TraceCheckUtils]: 19: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:30:56,998 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-28 05:30:56,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-28 05:30:57,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-28 05:30:57,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 05:30:57,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-28 05:30:57,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-28 05:30:57,000 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 31 proven. 18 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 05:30:57,000 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:30:57,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [290139152] [2022-04-28 05:30:57,001 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:30:57,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [360641831] [2022-04-28 05:30:57,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [360641831] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:30:57,001 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:30:57,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 05:30:57,001 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:30:57,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1376455748] [2022-04-28 05:30:57,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1376455748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:30:57,001 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:30:57,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:30:57,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516847274] [2022-04-28 05:30:57,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:30:57,002 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-28 05:30:57,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:30:57,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:30:57,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:30:57,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:30:57,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:30:57,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:30:57,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:30:57,060 INFO L87 Difference]: Start difference. First operand 190 states and 232 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:30:58,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:58,239 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-28 05:30:58,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:30:58,239 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-28 05:30:58,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:30:58,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:30:58,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 05:30:58,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:30:58,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 05:30:58,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-28 05:30:58,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:30:58,346 INFO L225 Difference]: With dead ends: 214 [2022-04-28 05:30:58,347 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 05:30:58,347 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:30:58,348 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:30:58,348 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 196 Invalid, 351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:30:58,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 05:30:58,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-28 05:30:58,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:30:58,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 05:30:58,476 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 05:30:58,477 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 05:30:58,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:58,482 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 05:30:58,482 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 05:30:58,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:30:58,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:30:58,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-28 05:30:58,484 INFO L87 Difference]: Start difference. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-28 05:30:58,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:30:58,489 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 05:30:58,489 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 05:30:58,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:30:58,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:30:58,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:30:58,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:30:58,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 05:30:58,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-28 05:30:58,496 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-28 05:30:58,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:30:58,496 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-28 05:30:58,496 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:30:58,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-28 05:30:58,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:30:58,864 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-28 05:30:58,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 05:30:58,866 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:30:58,866 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:30:58,889 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 05:30:59,087 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:30:59,087 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:30:59,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:30:59,088 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-28 05:30:59,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:30:59,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1807670952] [2022-04-28 05:30:59,088 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:30:59,088 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-28 05:30:59,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:30:59,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1395940602] [2022-04-28 05:30:59,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:30:59,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:30:59,098 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:30:59,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1709619734] [2022-04-28 05:30:59,099 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:30:59,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:30:59,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:30:59,100 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 05:30:59,103 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 05:30:59,145 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:30:59,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:30:59,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 05:30:59,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:30:59,159 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:30:59,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-28 05:30:59,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-28 05:30:59,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,632 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-28 05:30:59,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,634 INFO L272 TraceCheckUtils]: 19: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,634 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,634 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,635 INFO L272 TraceCheckUtils]: 24: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,635 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,635 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,635 INFO L272 TraceCheckUtils]: 29: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,636 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,638 INFO L272 TraceCheckUtils]: 38: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,638 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,638 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,639 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,639 INFO L272 TraceCheckUtils]: 43: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,639 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,639 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,639 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,640 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,640 INFO L272 TraceCheckUtils]: 48: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,640 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:59,641 INFO L290 TraceCheckUtils]: 50: Hoare triple {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:59,641 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:30:59,641 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,642 INFO L290 TraceCheckUtils]: 53: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:30:59,643 INFO L290 TraceCheckUtils]: 54: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 05:30:59,643 INFO L290 TraceCheckUtils]: 55: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 05:30:59,644 INFO L290 TraceCheckUtils]: 56: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 05:30:59,644 INFO L272 TraceCheckUtils]: 57: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,644 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,644 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,644 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,644 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 05:30:59,645 INFO L272 TraceCheckUtils]: 62: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:30:59,645 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:30:59,645 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:30:59,645 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:30:59,645 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 05:30:59,646 INFO L272 TraceCheckUtils]: 67: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:30:59,647 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:30:59,647 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-28 05:30:59,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-28 05:30:59,648 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 30 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 05:30:59,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:31:16,381 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-28 05:31:16,381 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-28 05:31:16,382 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:31:16,382 INFO L272 TraceCheckUtils]: 67: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:31:16,383 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:31:16,383 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,383 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,383 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,383 INFO L272 TraceCheckUtils]: 62: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,385 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:31:16,385 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,385 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,385 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,385 INFO L272 TraceCheckUtils]: 57: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,385 INFO L290 TraceCheckUtils]: 56: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:31:16,386 INFO L290 TraceCheckUtils]: 55: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:31:16,513 INFO L290 TraceCheckUtils]: 54: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:31:16,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:31:16,515 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:31:16,515 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:31:16,516 INFO L290 TraceCheckUtils]: 50: Hoare triple {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:31:16,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:31:16,516 INFO L272 TraceCheckUtils]: 48: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,517 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:31:16,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,517 INFO L272 TraceCheckUtils]: 43: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,518 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:31:16,518 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,518 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,518 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,518 INFO L272 TraceCheckUtils]: 38: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,518 INFO L290 TraceCheckUtils]: 37: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:31:16,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:31:16,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:31:16,691 INFO L290 TraceCheckUtils]: 34: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,692 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #72#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,692 INFO L272 TraceCheckUtils]: 29: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,693 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #70#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,695 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,695 INFO L272 TraceCheckUtils]: 24: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,700 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #68#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,700 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,701 INFO L272 TraceCheckUtils]: 19: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(#t~post6 < 50);havoc #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-28 05:31:16,703 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-28 05:31:16,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,703 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,703 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 05:31:16,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-28 05:31:16,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-28 05:31:16,705 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 35 proven. 19 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 05:31:16,705 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:31:16,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1395940602] [2022-04-28 05:31:16,705 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:31:16,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1709619734] [2022-04-28 05:31:16,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1709619734] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:31:16,706 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:31:16,706 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 05:31:16,706 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:31:16,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1807670952] [2022-04-28 05:31:16,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1807670952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:31:16,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:31:16,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:31:16,707 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1092588860] [2022-04-28 05:31:16,707 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:31:16,707 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-28 05:31:16,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:31:16,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:31:16,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:16,756 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:31:16,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:16,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:31:16,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:31:16,757 INFO L87 Difference]: Start difference. First operand 192 states and 236 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:31:17,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:17,776 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-28 05:31:17,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:31:17,776 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-28 05:31:17,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:31:17,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:31:17,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:31:17,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:31:17,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 05:31:17,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 05:31:17,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:17,896 INFO L225 Difference]: With dead ends: 219 [2022-04-28 05:31:17,896 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 05:31:17,897 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:31:17,897 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 15 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:31:17,897 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 185 Invalid, 330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:31:17,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 05:31:18,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-28 05:31:18,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:31:18,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:31:18,020 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:31:18,021 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:31:18,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:18,026 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 05:31:18,026 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 05:31:18,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:18,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:18,027 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 05:31:18,028 INFO L87 Difference]: Start difference. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 05:31:18,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:18,037 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 05:31:18,037 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 05:31:18,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:18,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:18,037 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:31:18,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:31:18,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:31:18,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-28 05:31:18,044 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-28 05:31:18,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:31:18,044 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-28 05:31:18,044 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:31:18,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-28 05:31:18,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:18,502 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-28 05:31:18,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 05:31:18,503 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:31:18,503 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:31:18,528 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 05:31:18,703 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,SelfDestructingSolverStorable16 [2022-04-28 05:31:18,704 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:31:18,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:31:18,704 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-28 05:31:18,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:18,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2023961158] [2022-04-28 05:31:18,704 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:31:18,704 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-28 05:31:18,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:31:18,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1433342231] [2022-04-28 05:31:18,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:31:18,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:31:18,716 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:31:18,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2098584844] [2022-04-28 05:31:18,717 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:31:18,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:18,717 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:31:18,718 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 05:31:18,719 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 05:31:18,775 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 05:31:18,775 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:31:18,776 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:31:18,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:31:18,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:31:19,086 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-28 05:31:19,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16952#(<= ~counter~0 0)} {16944#true} #82#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,088 INFO L272 TraceCheckUtils]: 4: Hoare triple {16952#(<= ~counter~0 0)} call #t~ret7 := main(); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,088 INFO L290 TraceCheckUtils]: 5: Hoare triple {16952#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,088 INFO L272 TraceCheckUtils]: 6: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,089 INFO L290 TraceCheckUtils]: 7: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,090 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #64#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,090 INFO L272 TraceCheckUtils]: 11: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,090 INFO L290 TraceCheckUtils]: 12: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,090 INFO L290 TraceCheckUtils]: 13: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,092 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #66#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,092 INFO L290 TraceCheckUtils]: 16: Hoare triple {16952#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 05:31:19,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {16952#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {17001#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,094 INFO L272 TraceCheckUtils]: 19: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,094 INFO L290 TraceCheckUtils]: 22: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,095 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #68#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,095 INFO L272 TraceCheckUtils]: 24: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,097 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #70#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,097 INFO L272 TraceCheckUtils]: 29: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,098 INFO L290 TraceCheckUtils]: 31: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,098 INFO L290 TraceCheckUtils]: 32: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,099 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #72#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,099 INFO L290 TraceCheckUtils]: 34: Hoare triple {17001#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {17001#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 05:31:19,100 INFO L290 TraceCheckUtils]: 36: Hoare triple {17001#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {17059#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,101 INFO L272 TraceCheckUtils]: 38: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,102 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #68#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,102 INFO L272 TraceCheckUtils]: 43: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,103 INFO L290 TraceCheckUtils]: 45: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,103 INFO L290 TraceCheckUtils]: 46: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,104 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #70#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,104 INFO L272 TraceCheckUtils]: 48: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,105 INFO L290 TraceCheckUtils]: 50: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,105 INFO L290 TraceCheckUtils]: 51: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,106 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #72#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {17059#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,106 INFO L290 TraceCheckUtils]: 54: Hoare triple {17059#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 05:31:19,107 INFO L290 TraceCheckUtils]: 55: Hoare triple {17059#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,107 INFO L290 TraceCheckUtils]: 56: Hoare triple {17117#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,108 INFO L272 TraceCheckUtils]: 57: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,108 INFO L290 TraceCheckUtils]: 58: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,108 INFO L290 TraceCheckUtils]: 59: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,108 INFO L290 TraceCheckUtils]: 60: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,109 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #68#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,109 INFO L272 TraceCheckUtils]: 62: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,110 INFO L290 TraceCheckUtils]: 63: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,110 INFO L290 TraceCheckUtils]: 64: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,111 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #70#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,111 INFO L272 TraceCheckUtils]: 67: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,112 INFO L290 TraceCheckUtils]: 68: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,112 INFO L290 TraceCheckUtils]: 69: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,112 INFO L290 TraceCheckUtils]: 70: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,113 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #72#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,113 INFO L290 TraceCheckUtils]: 72: Hoare triple {17117#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,113 INFO L290 TraceCheckUtils]: 73: Hoare triple {17117#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 05:31:19,113 INFO L290 TraceCheckUtils]: 74: Hoare triple {17117#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17175#(<= |main_#t~post6| 3)} is VALID [2022-04-28 05:31:19,114 INFO L290 TraceCheckUtils]: 75: Hoare triple {17175#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-28 05:31:19,114 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-28 05:31:19,114 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-28 05:31:19,114 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-28 05:31:19,114 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-28 05:31:19,114 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 135 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 05:31:19,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:31:19,419 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-28 05:31:19,420 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-28 05:31:19,420 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-28 05:31:19,420 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-28 05:31:19,423 INFO L290 TraceCheckUtils]: 75: Hoare triple {17203#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-28 05:31:19,424 INFO L290 TraceCheckUtils]: 74: Hoare triple {17207#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17203#(< |main_#t~post6| 50)} is VALID [2022-04-28 05:31:19,424 INFO L290 TraceCheckUtils]: 73: Hoare triple {17207#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,425 INFO L290 TraceCheckUtils]: 72: Hoare triple {17207#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,425 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #72#return; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,425 INFO L290 TraceCheckUtils]: 70: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,425 INFO L290 TraceCheckUtils]: 69: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,426 INFO L290 TraceCheckUtils]: 68: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,426 INFO L272 TraceCheckUtils]: 67: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,426 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #70#return; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,426 INFO L290 TraceCheckUtils]: 65: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,427 INFO L290 TraceCheckUtils]: 64: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,427 INFO L290 TraceCheckUtils]: 63: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,427 INFO L272 TraceCheckUtils]: 62: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,427 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #68#return; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,428 INFO L290 TraceCheckUtils]: 60: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,428 INFO L290 TraceCheckUtils]: 59: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,428 INFO L290 TraceCheckUtils]: 58: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,428 INFO L272 TraceCheckUtils]: 57: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,428 INFO L290 TraceCheckUtils]: 56: Hoare triple {17207#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,429 INFO L290 TraceCheckUtils]: 55: Hoare triple {17265#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-28 05:31:19,429 INFO L290 TraceCheckUtils]: 54: Hoare triple {17265#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {17265#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,430 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #72#return; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,431 INFO L290 TraceCheckUtils]: 51: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,431 INFO L290 TraceCheckUtils]: 50: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,431 INFO L290 TraceCheckUtils]: 49: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,431 INFO L272 TraceCheckUtils]: 48: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,432 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #70#return; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,432 INFO L290 TraceCheckUtils]: 46: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,432 INFO L272 TraceCheckUtils]: 43: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,433 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #68#return; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,433 INFO L290 TraceCheckUtils]: 41: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,433 INFO L272 TraceCheckUtils]: 38: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,433 INFO L290 TraceCheckUtils]: 37: Hoare triple {17265#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,434 INFO L290 TraceCheckUtils]: 36: Hoare triple {17323#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-28 05:31:19,435 INFO L290 TraceCheckUtils]: 35: Hoare triple {17323#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {17323#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,436 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #72#return; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,436 INFO L290 TraceCheckUtils]: 32: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,436 INFO L272 TraceCheckUtils]: 29: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,437 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #70#return; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,437 INFO L290 TraceCheckUtils]: 26: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,437 INFO L272 TraceCheckUtils]: 24: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,437 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #68#return; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,438 INFO L272 TraceCheckUtils]: 19: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,438 INFO L290 TraceCheckUtils]: 18: Hoare triple {17323#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,439 INFO L290 TraceCheckUtils]: 17: Hoare triple {17381#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-28 05:31:19,439 INFO L290 TraceCheckUtils]: 16: Hoare triple {17381#(< ~counter~0 47)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,440 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #66#return; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,440 INFO L290 TraceCheckUtils]: 12: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,440 INFO L272 TraceCheckUtils]: 11: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,441 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #64#return; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 05:31:19,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 05:31:19,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 05:31:19,441 INFO L272 TraceCheckUtils]: 6: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-28 05:31:19,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {17381#(< ~counter~0 47)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {17381#(< ~counter~0 47)} call #t~ret7 := main(); {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17381#(< ~counter~0 47)} {16944#true} #82#return; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {17381#(< ~counter~0 47)} assume true; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17381#(< ~counter~0 47)} is VALID [2022-04-28 05:31:19,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-28 05:31:19,444 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 27 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 05:31:19,444 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:31:19,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1433342231] [2022-04-28 05:31:19,444 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:31:19,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2098584844] [2022-04-28 05:31:19,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2098584844] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:31:19,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:31:19,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 05:31:19,445 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:31:19,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2023961158] [2022-04-28 05:31:19,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2023961158] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:31:19,445 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:31:19,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:31:19,445 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2144757457] [2022-04-28 05:31:19,445 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:31:19,445 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 05:31:19,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:31:19,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:31:19,492 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 05:31:19,492 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:31:19,492 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:19,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:31:19,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:31:19,493 INFO L87 Difference]: Start difference. First operand 208 states and 260 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:31:19,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:19,937 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-28 05:31:19,937 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:31:19,937 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 05:31:19,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:31:19,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:31:19,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 05:31:19,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:31:19,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 05:31:19,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 05:31:20,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:20,044 INFO L225 Difference]: With dead ends: 277 [2022-04-28 05:31:20,045 INFO L226 Difference]: Without dead ends: 250 [2022-04-28 05:31:20,045 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:31:20,046 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:31:20,046 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:31:20,046 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-28 05:31:20,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-28 05:31:20,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:31:20,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 05:31:20,215 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 05:31:20,215 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 05:31:20,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:20,221 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 05:31:20,221 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 05:31:20,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:20,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:20,222 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-28 05:31:20,223 INFO L87 Difference]: Start difference. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-28 05:31:20,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:20,229 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 05:31:20,229 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 05:31:20,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:20,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:20,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:31:20,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:31:20,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 05:31:20,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-28 05:31:20,236 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-28 05:31:20,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:31:20,236 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-28 05:31:20,236 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:31:20,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-28 05:31:20,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:20,725 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-28 05:31:20,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 05:31:20,726 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:31:20,726 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:31:20,753 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 05:31:20,927 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 05:31:20,927 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:31:20,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:31:20,927 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-28 05:31:20,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:20,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1764738036] [2022-04-28 05:31:20,928 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:31:20,928 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-28 05:31:20,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:31:20,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [359902202] [2022-04-28 05:31:20,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:31:20,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:31:20,945 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:31:20,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [380552546] [2022-04-28 05:31:20,945 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:31:20,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:20,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:31:20,948 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:31:20,981 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 05:31:21,014 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:31:21,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:31:21,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 05:31:21,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:31:21,032 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:31:21,852 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-28 05:31:21,853 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,854 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:31:21,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:31:21,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:31:21,855 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} {18953#true} #66#return; {19005#(<= 1 main_~y~0)} is VALID [2022-04-28 05:31:21,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {19005#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,856 INFO L290 TraceCheckUtils]: 18: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,856 INFO L272 TraceCheckUtils]: 19: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,856 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,857 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,857 INFO L272 TraceCheckUtils]: 24: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,858 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,858 INFO L272 TraceCheckUtils]: 29: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,858 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,859 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,860 INFO L290 TraceCheckUtils]: 37: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,861 INFO L272 TraceCheckUtils]: 38: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,861 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,861 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,861 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,861 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,861 INFO L272 TraceCheckUtils]: 43: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,862 INFO L272 TraceCheckUtils]: 48: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,863 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,863 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,864 INFO L290 TraceCheckUtils]: 53: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:31:21,864 INFO L290 TraceCheckUtils]: 54: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,865 INFO L290 TraceCheckUtils]: 55: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,865 INFO L290 TraceCheckUtils]: 56: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,865 INFO L272 TraceCheckUtils]: 57: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,866 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,866 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,866 INFO L272 TraceCheckUtils]: 62: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,866 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,866 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,867 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,867 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,867 INFO L272 TraceCheckUtils]: 67: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,867 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,867 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,867 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,868 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,868 INFO L290 TraceCheckUtils]: 72: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:31:21,869 INFO L290 TraceCheckUtils]: 73: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,870 INFO L290 TraceCheckUtils]: 74: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,870 INFO L290 TraceCheckUtils]: 75: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,870 INFO L272 TraceCheckUtils]: 76: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:21,870 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:21,870 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:21,870 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:21,871 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:21,872 INFO L272 TraceCheckUtils]: 81: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:31:21,872 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:31:21,872 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-28 05:31:21,872 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-28 05:31:21,873 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 23 proven. 33 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-28 05:31:21,873 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:31:22,351 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-28 05:31:22,351 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-28 05:31:22,352 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:31:22,352 INFO L272 TraceCheckUtils]: 81: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:31:22,353 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:22,353 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,353 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,353 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,353 INFO L272 TraceCheckUtils]: 76: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,354 INFO L290 TraceCheckUtils]: 75: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:22,354 INFO L290 TraceCheckUtils]: 74: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:22,440 INFO L290 TraceCheckUtils]: 73: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:22,441 INFO L290 TraceCheckUtils]: 72: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,442 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,442 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,442 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,442 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,442 INFO L272 TraceCheckUtils]: 67: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,443 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,443 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,443 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,443 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,443 INFO L272 TraceCheckUtils]: 62: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,444 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,444 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,444 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,444 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,444 INFO L272 TraceCheckUtils]: 57: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,445 INFO L290 TraceCheckUtils]: 56: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,445 INFO L290 TraceCheckUtils]: 55: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,513 INFO L290 TraceCheckUtils]: 54: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:22,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:22,515 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:22,515 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,515 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,515 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,515 INFO L272 TraceCheckUtils]: 48: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,515 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:22,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,516 INFO L272 TraceCheckUtils]: 43: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,516 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:22,516 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:22,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:22,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:22,517 INFO L272 TraceCheckUtils]: 38: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:22,517 INFO L290 TraceCheckUtils]: 37: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:22,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 05:31:24,519 WARN L290 TraceCheckUtils]: 35: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-28 05:31:24,520 INFO L290 TraceCheckUtils]: 34: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,520 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:24,521 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:24,521 INFO L272 TraceCheckUtils]: 29: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:24,521 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L272 TraceCheckUtils]: 24: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:24,522 INFO L272 TraceCheckUtils]: 19: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:24,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 16: Hoare triple {18953#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 05:31:24,524 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18953#true} {18953#true} #66#return; {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 05:31:24,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-28 05:31:24,525 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-28 05:31:24,526 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 05:31:24,526 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:31:24,526 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [359902202] [2022-04-28 05:31:24,526 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:31:24,526 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380552546] [2022-04-28 05:31:24,526 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380552546] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:31:24,526 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:31:24,526 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 05:31:24,527 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:31:24,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1764738036] [2022-04-28 05:31:24,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1764738036] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:31:24,527 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:31:24,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:31:24,527 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1655344290] [2022-04-28 05:31:24,527 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:31:24,528 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:31:24,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:31:24,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:24,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:24,582 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:31:24,582 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:24,582 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:31:24,582 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:31:24,583 INFO L87 Difference]: Start difference. First operand 229 states and 268 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:26,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:26,533 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-28 05:31:26,533 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:31:26,533 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:31:26,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:31:26,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:26,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:31:26,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:26,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:31:26,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 05:31:26,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:26,683 INFO L225 Difference]: With dead ends: 256 [2022-04-28 05:31:26,684 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 05:31:26,684 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:31:26,685 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 25 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 05:31:26,685 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 230 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 05:31:26,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 05:31:26,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-28 05:31:26,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:31:26,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:31:26,920 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:31:26,921 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:31:26,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:26,927 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 05:31:26,927 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 05:31:26,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:26,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:26,928 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-28 05:31:26,929 INFO L87 Difference]: Start difference. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-28 05:31:26,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:26,935 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 05:31:26,935 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 05:31:26,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:26,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:26,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:31:26,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:31:26,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:31:26,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-28 05:31:26,943 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-28 05:31:26,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:31:26,943 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-28 05:31:26,943 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:26,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-28 05:31:27,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 280 edges. 280 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:27,470 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-28 05:31:27,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 05:31:27,471 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:31:27,471 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:31:27,498 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 05:31:27,671 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:27,672 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:31:27,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:31:27,672 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-28 05:31:27,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:27,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [153767763] [2022-04-28 05:31:27,673 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:31:27,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-28 05:31:27,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:31:27,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625658669] [2022-04-28 05:31:27,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:31:27,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:31:27,683 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:31:27,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [503867028] [2022-04-28 05:31:27,684 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:31:27,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:27,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:31:27,685 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:31:27,686 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 05:31:27,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:31:27,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:31:27,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 05:31:27,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:31:27,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:31:29,185 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:31:29,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-28 05:31:29,244 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,245 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-28 05:31:29,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,251 INFO L272 TraceCheckUtils]: 19: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,252 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,252 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,253 INFO L272 TraceCheckUtils]: 24: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,254 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,254 INFO L272 TraceCheckUtils]: 29: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,254 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,254 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,255 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:31:29,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,257 INFO L290 TraceCheckUtils]: 37: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,257 INFO L272 TraceCheckUtils]: 38: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,257 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,258 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,258 INFO L272 TraceCheckUtils]: 43: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,258 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,258 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,258 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,259 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,259 INFO L272 TraceCheckUtils]: 48: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,259 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,259 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,260 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,261 INFO L290 TraceCheckUtils]: 53: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:31:29,262 INFO L290 TraceCheckUtils]: 54: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,263 INFO L290 TraceCheckUtils]: 55: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,263 INFO L290 TraceCheckUtils]: 56: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,263 INFO L272 TraceCheckUtils]: 57: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,263 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,264 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,264 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,264 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,264 INFO L272 TraceCheckUtils]: 62: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,265 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,265 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,265 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,265 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,266 INFO L272 TraceCheckUtils]: 67: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,266 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,266 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,266 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,266 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,267 INFO L290 TraceCheckUtils]: 72: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:31:29,269 INFO L290 TraceCheckUtils]: 73: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:31:29,270 INFO L290 TraceCheckUtils]: 74: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:31:29,270 INFO L290 TraceCheckUtils]: 75: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:31:29,270 INFO L272 TraceCheckUtils]: 76: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,270 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,271 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,271 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,271 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:31:29,274 INFO L272 TraceCheckUtils]: 81: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:31:29,274 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:31:29,275 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-28 05:31:29,275 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-28 05:31:29,275 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 05:31:29,276 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:31:29,944 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-28 05:31:29,945 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-28 05:31:29,945 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:31:29,946 INFO L272 TraceCheckUtils]: 81: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:31:29,946 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:29,946 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:29,947 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:29,947 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:29,947 INFO L272 TraceCheckUtils]: 76: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:29,947 INFO L290 TraceCheckUtils]: 75: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:29,948 INFO L290 TraceCheckUtils]: 74: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:30,209 INFO L290 TraceCheckUtils]: 73: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:31:30,209 INFO L290 TraceCheckUtils]: 72: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,210 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,210 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,210 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,210 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,210 INFO L272 TraceCheckUtils]: 67: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,211 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,211 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,211 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,211 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,211 INFO L272 TraceCheckUtils]: 62: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,212 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,212 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,212 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,212 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,212 INFO L272 TraceCheckUtils]: 57: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,213 INFO L290 TraceCheckUtils]: 55: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,257 INFO L290 TraceCheckUtils]: 54: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:31:30,257 INFO L290 TraceCheckUtils]: 53: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:30,258 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:30,258 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,258 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,258 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,258 INFO L272 TraceCheckUtils]: 48: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,259 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:30,259 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,259 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,259 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,259 INFO L272 TraceCheckUtils]: 43: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,260 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:30,260 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:30,260 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:30,260 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:30,260 INFO L272 TraceCheckUtils]: 38: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:30,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:30,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:31:32,263 WARN L290 TraceCheckUtils]: 35: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-28 05:31:32,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,264 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,264 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,264 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:32,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:32,265 INFO L272 TraceCheckUtils]: 29: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:32,265 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:32,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:32,266 INFO L272 TraceCheckUtils]: 24: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:32,266 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:32,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:32,266 INFO L272 TraceCheckUtils]: 19: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:32,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 50);havoc #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,267 INFO L290 TraceCheckUtils]: 17: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-28 05:31:32,268 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-28 05:31:32,269 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 05:31:32,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:31:32,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625658669] [2022-04-28 05:31:32,270 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:31:32,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [503867028] [2022-04-28 05:31:32,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [503867028] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:31:32,270 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:31:32,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 05:31:32,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:31:32,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [153767763] [2022-04-28 05:31:32,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [153767763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:31:32,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:31:32,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:31:32,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1551313113] [2022-04-28 05:31:32,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:31:32,271 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:31:32,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:31:32,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:32,329 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 05:31:32,329 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:31:32,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:32,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:31:32,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:31:32,330 INFO L87 Difference]: Start difference. First operand 238 states and 280 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:34,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:34,065 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-28 05:31:34,065 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:31:34,066 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:31:34,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:31:34,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:34,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 05:31:34,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:34,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 05:31:34,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-28 05:31:34,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:34,218 INFO L225 Difference]: With dead ends: 286 [2022-04-28 05:31:34,218 INFO L226 Difference]: Without dead ends: 284 [2022-04-28 05:31:34,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:31:34,220 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 05:31:34,220 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 05:31:34,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-28 05:31:34,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-28 05:31:34,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:31:34,490 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 05:31:34,490 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 05:31:34,491 INFO L87 Difference]: Start difference. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 05:31:34,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:34,498 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 05:31:34,498 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 05:31:34,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:34,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:34,499 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-28 05:31:34,500 INFO L87 Difference]: Start difference. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-28 05:31:34,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:31:34,506 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 05:31:34,506 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 05:31:34,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:31:34,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:31:34,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:31:34,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:31:34,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 05:31:34,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-28 05:31:34,515 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-28 05:31:34,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:31:34,516 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-28 05:31:34,516 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:31:34,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-28 05:31:35,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:31:35,152 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-28 05:31:35,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 05:31:35,152 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:31:35,153 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:31:35,170 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 05:31:35,355 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:35,355 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:31:35,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:31:35,356 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-28 05:31:35,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:31:35,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [12114269] [2022-04-28 05:31:35,356 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:31:35,356 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-28 05:31:35,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:31:35,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [67688004] [2022-04-28 05:31:35,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:31:35,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:31:35,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:31:35,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [437815938] [2022-04-28 05:31:35,378 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:31:35,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:31:35,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:31:35,386 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:31:35,391 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 05:31:35,434 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:31:35,434 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:31:35,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 05:31:35,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:31:35,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:32:12,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,660 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-28 05:32:12,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,662 INFO L272 TraceCheckUtils]: 19: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,663 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,663 INFO L272 TraceCheckUtils]: 24: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,664 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,664 INFO L272 TraceCheckUtils]: 29: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,664 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,665 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,667 INFO L290 TraceCheckUtils]: 37: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,668 INFO L272 TraceCheckUtils]: 38: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,668 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,668 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,669 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,669 INFO L272 TraceCheckUtils]: 43: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:12,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,670 INFO L290 TraceCheckUtils]: 46: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,670 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,671 INFO L272 TraceCheckUtils]: 48: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,671 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,671 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,671 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,672 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,672 INFO L290 TraceCheckUtils]: 53: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:32:12,673 INFO L290 TraceCheckUtils]: 54: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,674 INFO L290 TraceCheckUtils]: 55: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,675 INFO L290 TraceCheckUtils]: 56: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,675 INFO L272 TraceCheckUtils]: 57: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,675 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,675 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,675 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,676 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,676 INFO L272 TraceCheckUtils]: 62: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,676 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:12,677 INFO L290 TraceCheckUtils]: 64: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,677 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,678 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,678 INFO L272 TraceCheckUtils]: 67: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,678 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:12,679 INFO L290 TraceCheckUtils]: 69: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,679 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:12,680 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,680 INFO L290 TraceCheckUtils]: 72: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:32:12,682 INFO L290 TraceCheckUtils]: 73: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 05:32:12,683 INFO L290 TraceCheckUtils]: 74: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 05:32:12,684 INFO L290 TraceCheckUtils]: 75: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} assume !!(#t~post6 < 50);havoc #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 05:32:12,684 INFO L272 TraceCheckUtils]: 76: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:12,684 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:12,684 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:12,684 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:12,685 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #68#return; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 05:32:12,689 INFO L272 TraceCheckUtils]: 81: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:32:12,690 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:12,690 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-28 05:32:12,690 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-28 05:32:12,691 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 65 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-28 05:32:12,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:32:49,892 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-28 05:32:49,893 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-28 05:32:49,893 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:49,894 INFO L272 TraceCheckUtils]: 81: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:32:49,895 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:32:49,895 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:49,895 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:49,895 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:49,895 INFO L272 TraceCheckUtils]: 76: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:49,896 INFO L290 TraceCheckUtils]: 75: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:32:49,896 INFO L290 TraceCheckUtils]: 74: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:32:49,994 INFO L290 TraceCheckUtils]: 73: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:32:49,995 INFO L290 TraceCheckUtils]: 72: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:32:49,996 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:32:49,996 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:49,996 INFO L290 TraceCheckUtils]: 69: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:49,997 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:32:49,997 INFO L272 TraceCheckUtils]: 67: Hoare triple {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:49,998 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23176#true} #70#return; {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:32:49,999 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:49,999 INFO L290 TraceCheckUtils]: 64: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:49,999 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:32:50,000 INFO L272 TraceCheckUtils]: 62: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L272 TraceCheckUtils]: 57: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 56: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 55: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 54: Hoare triple {23176#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L290 TraceCheckUtils]: 53: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-28 05:32:50,000 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L272 TraceCheckUtils]: 48: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 46: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,001 INFO L272 TraceCheckUtils]: 43: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L272 TraceCheckUtils]: 38: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 37: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 35: Hoare triple {23176#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 34: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-28 05:32:50,002 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L272 TraceCheckUtils]: 29: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,003 INFO L272 TraceCheckUtils]: 24: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L272 TraceCheckUtils]: 19: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 05:32:50,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-28 05:32:50,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-28 05:32:50,019 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 78 proven. 8 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-28 05:32:50,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:32:50,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [67688004] [2022-04-28 05:32:50,019 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:32:50,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [437815938] [2022-04-28 05:32:50,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [437815938] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:32:50,020 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:32:50,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 05:32:50,020 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:32:50,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [12114269] [2022-04-28 05:32:50,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [12114269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:32:50,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:32:50,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:32:50,020 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1828538117] [2022-04-28 05:32:50,021 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:32:50,021 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:32:50,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:32:50,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:32:50,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:32:50,087 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:32:50,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:32:50,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:32:50,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:32:50,088 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:32:52,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:32:52,611 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-28 05:32:52,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:32:52,611 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 05:32:52,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:32:52,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:32:52,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 05:32:52,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:32:52,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 05:32:52,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 05:32:52,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:32:52,750 INFO L225 Difference]: With dead ends: 297 [2022-04-28 05:32:52,751 INFO L226 Difference]: Without dead ends: 295 [2022-04-28 05:32:52,751 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 153 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:32:52,751 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:32:52,752 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 209 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 05:32:52,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-28 05:32:52,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-28 05:32:52,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:32:52,998 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:32:52,999 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:32:52,999 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:32:53,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:32:53,006 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 05:32:53,006 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 05:32:53,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:32:53,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:32:53,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-28 05:32:53,008 INFO L87 Difference]: Start difference. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-28 05:32:53,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:32:53,015 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 05:32:53,015 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 05:32:53,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:32:53,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:32:53,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:32:53,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:32:53,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:32:53,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-28 05:32:53,023 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-28 05:32:53,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:32:53,024 INFO L495 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-28 05:32:53,024 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:32:53,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-28 05:32:53,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:32:53,751 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-28 05:32:53,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 05:32:53,752 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:32:53,752 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:32:53,778 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 05:32:53,963 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:32:53,964 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:32:53,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:32:53,964 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-28 05:32:53,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:32:53,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [863091478] [2022-04-28 05:32:53,965 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:32:53,965 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-28 05:32:53,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:32:53,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [909819132] [2022-04-28 05:32:53,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:32:53,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:32:53,977 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:32:53,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [593832996] [2022-04-28 05:32:53,977 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:32:53,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:32:53,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:32:53,978 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:32:53,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 05:32:54,056 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:32:54,057 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:32:54,058 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 05:32:54,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:32:54,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:32:54,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {25385#true} call ULTIMATE.init(); {25385#true} is VALID [2022-04-28 05:32:54,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {25385#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25385#true} is VALID [2022-04-28 05:32:54,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25385#true} {25385#true} #82#return; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {25385#true} call #t~ret7 := main(); {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {25385#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {25385#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25385#true} {25385#true} #64#return; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L272 TraceCheckUtils]: 11: Hoare triple {25385#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 12: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,535 INFO L290 TraceCheckUtils]: 13: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,536 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25385#true} {25385#true} #66#return; {25385#true} is VALID [2022-04-28 05:32:54,536 INFO L290 TraceCheckUtils]: 16: Hoare triple {25385#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,537 INFO L272 TraceCheckUtils]: 19: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,537 INFO L290 TraceCheckUtils]: 21: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,538 INFO L290 TraceCheckUtils]: 22: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,538 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,538 INFO L272 TraceCheckUtils]: 24: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:54,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,540 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,540 INFO L272 TraceCheckUtils]: 29: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,540 INFO L290 TraceCheckUtils]: 30: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,541 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,541 INFO L290 TraceCheckUtils]: 34: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,542 INFO L290 TraceCheckUtils]: 35: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,542 INFO L290 TraceCheckUtils]: 36: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,543 INFO L290 TraceCheckUtils]: 37: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,543 INFO L272 TraceCheckUtils]: 38: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,543 INFO L290 TraceCheckUtils]: 41: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,544 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,545 INFO L272 TraceCheckUtils]: 43: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,545 INFO L290 TraceCheckUtils]: 44: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,545 INFO L290 TraceCheckUtils]: 45: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,545 INFO L290 TraceCheckUtils]: 46: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,546 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,546 INFO L272 TraceCheckUtils]: 48: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,546 INFO L290 TraceCheckUtils]: 49: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,546 INFO L290 TraceCheckUtils]: 50: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,547 INFO L290 TraceCheckUtils]: 51: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,547 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,548 INFO L290 TraceCheckUtils]: 53: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,549 INFO L290 TraceCheckUtils]: 54: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,549 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,550 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,550 INFO L272 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,550 INFO L290 TraceCheckUtils]: 58: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,550 INFO L290 TraceCheckUtils]: 59: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,550 INFO L290 TraceCheckUtils]: 60: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,551 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,551 INFO L272 TraceCheckUtils]: 62: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,551 INFO L290 TraceCheckUtils]: 63: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 05:32:54,551 INFO L290 TraceCheckUtils]: 64: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 05:32:54,551 INFO L290 TraceCheckUtils]: 65: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 05:32:54,552 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,552 INFO L272 TraceCheckUtils]: 67: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,552 INFO L290 TraceCheckUtils]: 68: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:54,553 INFO L290 TraceCheckUtils]: 69: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,554 INFO L290 TraceCheckUtils]: 70: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,556 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,557 INFO L290 TraceCheckUtils]: 72: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:32:54,558 INFO L290 TraceCheckUtils]: 73: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:32:54,558 INFO L290 TraceCheckUtils]: 74: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:32:54,559 INFO L290 TraceCheckUtils]: 75: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:32:54,559 INFO L272 TraceCheckUtils]: 76: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-28 05:32:54,560 INFO L290 TraceCheckUtils]: 77: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:54,561 INFO L290 TraceCheckUtils]: 78: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,562 INFO L290 TraceCheckUtils]: 79: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:32:54,585 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-28 05:32:54,586 INFO L272 TraceCheckUtils]: 81: Hoare triple {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:32:54,587 INFO L290 TraceCheckUtils]: 82: Hoare triple {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25643#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:32:54,587 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25386#false} is VALID [2022-04-28 05:32:54,587 INFO L290 TraceCheckUtils]: 84: Hoare triple {25386#false} assume !false; {25386#false} is VALID [2022-04-28 05:32:54,588 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 66 proven. 33 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 05:32:54,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:34:35,545 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:34:40,407 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:34:57,236 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse5 (+ (* (- 1) c_main_~q~0) c_main_~p~0))) (let ((.cse0 (= c_main_~y~0 0)) (.cse4 (+ c_main_~b~0 (* (- 1) c_main_~q~0 c_main_~x~0))) (.cse1 (* .cse5 c_main_~x~0)) (.cse3 (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (and (let ((.cse6 (div .cse4 c_main_~y~0))) (let ((.cse2 (+ c_main_~r~0 (* (- 1) .cse6)))) (or .cse0 (= (+ .cse1 (* .cse2 c_main_~y~0)) .cse3) (not (= (mod .cse4 c_main_~y~0) 0)) (not (= (+ (* c_main_~q~0 .cse2) 1) (* .cse5 .cse6)))))) (or (not .cse0) (not (= .cse4 0)) (let ((.cse8 (= c_main_~p~0 0)) (.cse7 (+ (* c_main_~q~0 c_main_~r~0) 1))) (and (or (not (= .cse7 0)) (forall ((main_~s~0 Int)) (= (+ (* (+ (* (- 1) c_main_~q~0) c_main_~p~0) c_main_~x~0) (* (+ (* (- 1) main_~s~0) c_main_~r~0) c_main_~y~0)) (+ (* (- 1) c_main_~b~0) c_main_~a~0))) (not .cse8)) (or .cse8 (not (= (mod .cse7 c_main_~p~0) 0)) (= (+ .cse1 (* (+ c_main_~r~0 (* (div .cse7 c_main_~p~0) (- 1))) c_main_~y~0)) .cse3)))))))) is different from true [2022-04-28 05:34:57,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:34:57,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [909819132] [2022-04-28 05:34:57,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:34:57,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [593832996] [2022-04-28 05:34:57,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [593832996] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:34:57,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:34:57,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 05:34:57,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:34:57,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [863091478] [2022-04-28 05:34:57,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [863091478] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:34:57,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:34:57,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:34:57,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1671674836] [2022-04-28 05:34:57,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:34:57,239 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-28 05:34:57,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:34:57,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:34:57,283 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 05:34:57,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:34:57,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:34:57,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:34:57,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=143, Unknown=1, NotChecked=24, Total=210 [2022-04-28 05:34:57,284 INFO L87 Difference]: Start difference. First operand 249 states and 294 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:34:59,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:34:59,450 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-28 05:34:59,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:34:59,451 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-28 05:34:59,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:34:59,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:34:59,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 05:34:59,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:34:59,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 05:34:59,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-28 05:34:59,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:34:59,647 INFO L225 Difference]: With dead ends: 315 [2022-04-28 05:34:59,648 INFO L226 Difference]: Without dead ends: 309 [2022-04-28 05:34:59,648 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=61, Invalid=214, Unknown=1, NotChecked=30, Total=306 [2022-04-28 05:34:59,649 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 408 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 05:34:59,649 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 05:34:59,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-28 05:34:59,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-28 05:34:59,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:34:59,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 05:34:59,924 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 05:34:59,924 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 05:34:59,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:34:59,933 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 05:34:59,934 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 05:34:59,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:34:59,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:34:59,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-28 05:34:59,935 INFO L87 Difference]: Start difference. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-28 05:34:59,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:34:59,943 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 05:34:59,943 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 05:34:59,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:34:59,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:34:59,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:34:59,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:34:59,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 05:34:59,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-28 05:34:59,951 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-28 05:34:59,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:34:59,952 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-28 05:34:59,952 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:34:59,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-28 05:35:00,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:00,735 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-28 05:35:00,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 05:35:00,736 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:35:00,736 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:35:00,754 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 05:35:00,939 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 05:35:00,939 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:35:00,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:35:00,940 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-28 05:35:00,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:35:00,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1759503957] [2022-04-28 05:35:00,940 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:35:00,940 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-28 05:35:00,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:35:00,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1911420201] [2022-04-28 05:35:00,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:35:00,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:35:00,952 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:35:00,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1945515226] [2022-04-28 05:35:00,953 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:35:00,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:35:00,953 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:35:00,954 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:35:00,956 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 05:35:01,051 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:35:01,051 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:35:01,053 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 05:35:01,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:35:01,068 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:35:02,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-28 05:35:02,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-28 05:35:02,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,123 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,124 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-28 05:35:02,124 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,125 INFO L290 TraceCheckUtils]: 18: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,125 INFO L272 TraceCheckUtils]: 19: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,126 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,127 INFO L272 TraceCheckUtils]: 24: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,127 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,127 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,127 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,127 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,128 INFO L272 TraceCheckUtils]: 29: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,128 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,129 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,129 INFO L290 TraceCheckUtils]: 34: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:35:02,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,130 INFO L290 TraceCheckUtils]: 36: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,131 INFO L290 TraceCheckUtils]: 37: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,131 INFO L272 TraceCheckUtils]: 38: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,131 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,132 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,132 INFO L272 TraceCheckUtils]: 43: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,132 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,132 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,132 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,133 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,133 INFO L272 TraceCheckUtils]: 48: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,134 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,135 INFO L290 TraceCheckUtils]: 53: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:35:02,136 INFO L290 TraceCheckUtils]: 54: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,136 INFO L290 TraceCheckUtils]: 55: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,137 INFO L290 TraceCheckUtils]: 56: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,137 INFO L272 TraceCheckUtils]: 57: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,137 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,137 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,137 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,138 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #68#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,138 INFO L272 TraceCheckUtils]: 62: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,138 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,139 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,139 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,139 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #70#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,140 INFO L272 TraceCheckUtils]: 67: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,140 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,140 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,140 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,141 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #72#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,142 INFO L290 TraceCheckUtils]: 72: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 05:35:02,143 INFO L290 TraceCheckUtils]: 73: Hoare triple {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 05:35:02,144 INFO L290 TraceCheckUtils]: 74: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 05:35:02,145 INFO L290 TraceCheckUtils]: 75: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 05:35:02,145 INFO L272 TraceCheckUtils]: 76: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,145 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,145 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,145 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,146 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 05:35:02,146 INFO L272 TraceCheckUtils]: 81: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,146 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,146 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,146 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,147 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 05:35:02,148 INFO L272 TraceCheckUtils]: 86: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:35:02,149 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:02,149 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-28 05:35:02,149 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-28 05:35:02,150 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 05:35:02,150 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:35:02,971 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-28 05:35:02,972 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-28 05:35:02,972 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:02,973 INFO L272 TraceCheckUtils]: 86: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:35:02,973 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:02,974 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,974 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,974 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,974 INFO L272 TraceCheckUtils]: 81: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,974 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:02,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:02,974 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:02,975 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:02,975 INFO L272 TraceCheckUtils]: 76: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:02,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:02,975 INFO L290 TraceCheckUtils]: 74: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:03,048 INFO L290 TraceCheckUtils]: 73: Hoare triple {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:03,049 INFO L290 TraceCheckUtils]: 72: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,049 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,049 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,049 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,049 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,050 INFO L272 TraceCheckUtils]: 67: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,050 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,050 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,050 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,050 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,050 INFO L272 TraceCheckUtils]: 62: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,051 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,051 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,051 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,051 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,051 INFO L272 TraceCheckUtils]: 57: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,052 INFO L290 TraceCheckUtils]: 56: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,052 INFO L290 TraceCheckUtils]: 55: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,187 INFO L290 TraceCheckUtils]: 54: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:03,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:03,188 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:03,189 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,189 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,189 INFO L272 TraceCheckUtils]: 48: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,189 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:03,189 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L272 TraceCheckUtils]: 43: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:03,190 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:03,190 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:03,191 INFO L272 TraceCheckUtils]: 38: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:03,191 INFO L290 TraceCheckUtils]: 37: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:03,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:05,004 INFO L290 TraceCheckUtils]: 35: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 05:35:05,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,006 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:05,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:05,006 INFO L272 TraceCheckUtils]: 29: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:05,007 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,007 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:05,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:05,007 INFO L272 TraceCheckUtils]: 24: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:05,008 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,008 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:05,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:05,008 INFO L272 TraceCheckUtils]: 19: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:05,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,009 INFO L290 TraceCheckUtils]: 17: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 05:35:05,010 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-28 05:35:05,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-28 05:35:05,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-28 05:35:05,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 05:35:05,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-28 05:35:05,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-28 05:35:05,011 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 05:35:05,011 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:35:05,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1911420201] [2022-04-28 05:35:05,011 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:35:05,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1945515226] [2022-04-28 05:35:05,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1945515226] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:35:05,012 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:35:05,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 05:35:05,012 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:35:05,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1759503957] [2022-04-28 05:35:05,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1759503957] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:35:05,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:35:05,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:35:05,012 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816176087] [2022-04-28 05:35:05,012 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:35:05,013 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-28 05:35:05,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:35:05,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 05:35:05,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:05,077 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:35:05,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:35:05,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:35:05,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:35:05,078 INFO L87 Difference]: Start difference. First operand 265 states and 313 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 05:35:08,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:08,079 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-28 05:35:08,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:35:08,080 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-28 05:35:08,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:35:08,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 05:35:08,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 05:35:08,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 05:35:08,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 05:35:08,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 05:35:08,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:08,218 INFO L225 Difference]: With dead ends: 291 [2022-04-28 05:35:08,219 INFO L226 Difference]: Without dead ends: 285 [2022-04-28 05:35:08,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:35:08,219 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 10 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 284 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:35:08,219 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 241 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 05:35:08,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-28 05:35:08,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-28 05:35:08,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:35:08,511 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 05:35:08,511 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 05:35:08,512 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 05:35:08,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:08,518 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 05:35:08,518 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 05:35:08,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:35:08,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:35:08,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-28 05:35:08,520 INFO L87 Difference]: Start difference. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-28 05:35:08,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:08,526 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 05:35:08,526 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 05:35:08,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:35:08,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:35:08,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:35:08,527 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:35:08,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 05:35:08,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-28 05:35:08,535 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-28 05:35:08,535 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:35:08,535 INFO L495 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-28 05:35:08,535 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 05:35:08,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-28 05:35:09,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:09,262 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-28 05:35:09,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 05:35:09,263 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:35:09,263 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:35:09,287 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 05:35:09,483 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 05:35:09,483 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:35:09,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:35:09,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-28 05:35:09,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:35:09,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [151037481] [2022-04-28 05:35:09,484 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:35:09,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-28 05:35:09,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:35:09,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1055080880] [2022-04-28 05:35:09,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:35:09,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:35:09,494 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:35:09,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1245067057] [2022-04-28 05:35:09,494 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:35:09,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:35:09,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:35:09,495 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:35:09,502 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 05:35:09,552 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:35:09,553 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:35:09,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 05:35:09,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:35:09,579 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:35:11,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-28 05:35:11,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-28 05:35:11,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-28 05:35:11,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-28 05:35:11,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,042 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-28 05:35:11,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,044 INFO L272 TraceCheckUtils]: 19: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,045 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #68#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,045 INFO L272 TraceCheckUtils]: 24: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,046 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #70#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,046 INFO L272 TraceCheckUtils]: 29: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,047 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #72#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:35:11,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,049 INFO L290 TraceCheckUtils]: 37: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,050 INFO L272 TraceCheckUtils]: 38: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,050 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,051 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,051 INFO L272 TraceCheckUtils]: 43: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,051 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,052 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,052 INFO L272 TraceCheckUtils]: 48: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:11,053 INFO L290 TraceCheckUtils]: 50: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,053 INFO L290 TraceCheckUtils]: 51: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,054 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,054 INFO L290 TraceCheckUtils]: 53: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:35:11,056 INFO L290 TraceCheckUtils]: 54: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,056 INFO L290 TraceCheckUtils]: 55: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,057 INFO L290 TraceCheckUtils]: 56: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,057 INFO L272 TraceCheckUtils]: 57: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,057 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,057 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,057 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,058 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,058 INFO L272 TraceCheckUtils]: 62: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,059 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:11,059 INFO L290 TraceCheckUtils]: 64: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,059 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,060 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,061 INFO L272 TraceCheckUtils]: 67: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,061 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:11,061 INFO L290 TraceCheckUtils]: 69: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,062 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:11,062 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,063 INFO L290 TraceCheckUtils]: 72: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:35:11,070 INFO L290 TraceCheckUtils]: 73: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 05:35:11,071 INFO L290 TraceCheckUtils]: 74: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 05:35:11,071 INFO L290 TraceCheckUtils]: 75: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 05:35:11,072 INFO L272 TraceCheckUtils]: 76: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,072 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,072 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,072 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,073 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #68#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 05:35:11,073 INFO L272 TraceCheckUtils]: 81: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:11,073 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:11,073 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:11,073 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:11,074 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #70#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 05:35:11,077 INFO L272 TraceCheckUtils]: 86: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:35:11,077 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:11,078 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-28 05:35:11,078 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-28 05:35:11,078 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 70 proven. 60 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-28 05:35:11,079 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:35:42,429 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-28 05:35:42,430 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-28 05:35:42,430 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:35:42,431 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:35:42,431 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:42,432 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:42,432 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:42,432 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:42,432 INFO L272 TraceCheckUtils]: 81: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:42,432 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:42,432 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:42,432 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:42,433 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:42,433 INFO L272 TraceCheckUtils]: 76: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:42,433 INFO L290 TraceCheckUtils]: 75: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:42,433 INFO L290 TraceCheckUtils]: 74: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:35:44,436 WARN L290 TraceCheckUtils]: 73: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 05:35:44,437 INFO L290 TraceCheckUtils]: 72: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:35:44,438 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:35:44,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:44,439 INFO L290 TraceCheckUtils]: 69: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:44,439 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:35:44,439 INFO L272 TraceCheckUtils]: 67: Hoare triple {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,441 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29725#true} #70#return; {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:35:44,442 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:44,442 INFO L290 TraceCheckUtils]: 64: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:35:44,443 INFO L272 TraceCheckUtils]: 62: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L272 TraceCheckUtils]: 57: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 56: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,443 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L272 TraceCheckUtils]: 48: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,444 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L272 TraceCheckUtils]: 43: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L272 TraceCheckUtils]: 38: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-28 05:35:44,445 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L272 TraceCheckUtils]: 29: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L272 TraceCheckUtils]: 24: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,446 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L272 TraceCheckUtils]: 19: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 17: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-28 05:35:44,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 05:35:44,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-28 05:35:44,449 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 82 proven. 15 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-28 05:35:44,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:35:44,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1055080880] [2022-04-28 05:35:44,450 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:35:44,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1245067057] [2022-04-28 05:35:44,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1245067057] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:35:44,450 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:35:44,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 05:35:44,450 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:35:44,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [151037481] [2022-04-28 05:35:44,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [151037481] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:35:44,450 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:35:44,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:35:44,451 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1609539311] [2022-04-28 05:35:44,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:35:44,455 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-28 05:35:44,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:35:44,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 05:35:44,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:44,551 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:35:44,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:35:44,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:35:44,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:35:44,552 INFO L87 Difference]: Start difference. First operand 269 states and 319 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 05:35:48,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:48,420 INFO L93 Difference]: Finished difference Result 310 states and 377 transitions. [2022-04-28 05:35:48,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:35:48,420 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-28 05:35:48,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:35:48,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 05:35:48,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:35:48,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 05:35:48,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:35:48,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 05:35:48,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:48,578 INFO L225 Difference]: With dead ends: 310 [2022-04-28 05:35:48,578 INFO L226 Difference]: Without dead ends: 304 [2022-04-28 05:35:48,579 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:35:48,579 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:35:48,579 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 219 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 05:35:48,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-04-28 05:35:48,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 284. [2022-04-28 05:35:48,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:35:48,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:35:48,902 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:35:48,903 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:35:48,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:48,909 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-28 05:35:48,909 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-28 05:35:48,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:35:48,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:35:48,911 INFO L74 IsIncluded]: Start isIncluded. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-28 05:35:48,911 INFO L87 Difference]: Start difference. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-28 05:35:48,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:35:48,918 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-28 05:35:48,918 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-28 05:35:48,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:35:48,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:35:48,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:35:48,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:35:48,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:35:48,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 336 transitions. [2022-04-28 05:35:48,927 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 336 transitions. Word has length 90 [2022-04-28 05:35:48,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:35:48,927 INFO L495 AbstractCegarLoop]: Abstraction has 284 states and 336 transitions. [2022-04-28 05:35:48,927 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 05:35:48,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 336 transitions. [2022-04-28 05:35:50,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 336 edges. 336 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:35:50,080 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 336 transitions. [2022-04-28 05:35:50,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 05:35:50,081 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:35:50,081 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:35:50,100 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-28 05:35:50,291 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:35:50,291 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:35:50,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:35:50,292 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 17 times [2022-04-28 05:35:50,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:35:50,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [677441927] [2022-04-28 05:35:50,292 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:35:50,292 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 18 times [2022-04-28 05:35:50,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:35:50,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719128964] [2022-04-28 05:35:50,293 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:35:50,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:35:50,302 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:35:50,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [271064473] [2022-04-28 05:35:50,303 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:35:50,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:35:50,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:35:50,304 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:35:50,307 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 05:35:50,414 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:35:50,415 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:35:50,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 05:35:50,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:35:50,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:04,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-28 05:38:04,906 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,907 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-28 05:38:04,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,908 INFO L290 TraceCheckUtils]: 18: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,908 INFO L272 TraceCheckUtils]: 19: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,909 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,909 INFO L272 TraceCheckUtils]: 24: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,909 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,909 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,910 INFO L272 TraceCheckUtils]: 29: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,910 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,911 INFO L290 TraceCheckUtils]: 34: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,912 INFO L290 TraceCheckUtils]: 37: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,912 INFO L272 TraceCheckUtils]: 38: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,912 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,912 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,913 INFO L272 TraceCheckUtils]: 43: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,913 INFO L272 TraceCheckUtils]: 48: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,914 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,914 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,914 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,915 INFO L290 TraceCheckUtils]: 53: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:04,915 INFO L290 TraceCheckUtils]: 54: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,915 INFO L290 TraceCheckUtils]: 55: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,916 INFO L272 TraceCheckUtils]: 57: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,916 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,916 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,916 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,917 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,917 INFO L272 TraceCheckUtils]: 62: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,917 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,917 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,917 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,918 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #70#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,918 INFO L272 TraceCheckUtils]: 67: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,918 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:04,918 INFO L290 TraceCheckUtils]: 69: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:04,918 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:04,919 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #72#return; {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,920 INFO L290 TraceCheckUtils]: 72: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(~a~0 != ~b~0); {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 05:38:04,931 INFO L290 TraceCheckUtils]: 73: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 05:38:04,932 INFO L290 TraceCheckUtils]: 74: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 05:38:04,932 INFO L290 TraceCheckUtils]: 75: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 05:38:04,933 INFO L272 TraceCheckUtils]: 76: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,933 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:04,933 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:04,933 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:04,933 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 05:38:04,934 INFO L272 TraceCheckUtils]: 81: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:04,934 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:04,934 INFO L290 TraceCheckUtils]: 83: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:04,935 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:06,938 WARN L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is UNKNOWN [2022-04-28 05:38:06,951 INFO L272 TraceCheckUtils]: 86: Hoare triple {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:06,952 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:06,952 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-28 05:38:06,952 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-28 05:38:06,953 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 71 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 05:38:06,953 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:34,998 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-28 05:38:34,999 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-28 05:38:34,999 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:35,000 INFO L272 TraceCheckUtils]: 86: Hoare triple {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:35,001 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:38:35,001 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:35,002 INFO L290 TraceCheckUtils]: 83: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:35,002 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:38:35,002 INFO L272 TraceCheckUtils]: 81: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,003 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,003 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,003 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,003 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,003 INFO L272 TraceCheckUtils]: 76: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,004 INFO L290 TraceCheckUtils]: 75: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,005 INFO L290 TraceCheckUtils]: 74: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,340 INFO L290 TraceCheckUtils]: 73: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,341 INFO L290 TraceCheckUtils]: 72: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,342 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32079#true} #72#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:38:35,342 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:35,342 INFO L290 TraceCheckUtils]: 69: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:38:35,343 INFO L272 TraceCheckUtils]: 67: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L272 TraceCheckUtils]: 62: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,343 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L272 TraceCheckUtils]: 57: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 56: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 55: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 54: Hoare triple {32079#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 53: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L272 TraceCheckUtils]: 48: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,344 INFO L272 TraceCheckUtils]: 43: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L272 TraceCheckUtils]: 38: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 37: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 36: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 35: Hoare triple {32079#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L272 TraceCheckUtils]: 29: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,345 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L272 TraceCheckUtils]: 24: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L272 TraceCheckUtils]: 19: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 18: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 05:38:35,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-28 05:38:35,348 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-28 05:38:35,348 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 90 proven. 5 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2022-04-28 05:38:35,348 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:35,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719128964] [2022-04-28 05:38:35,348 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:35,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [271064473] [2022-04-28 05:38:35,349 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [271064473] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:35,349 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:35,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 05:38:35,349 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:35,349 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [677441927] [2022-04-28 05:38:35,349 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [677441927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:35,349 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:35,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:38:35,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [641349621] [2022-04-28 05:38:35,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:35,350 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-28 05:38:35,350 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:35,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:38:37,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:37,469 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:38:37,469 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:37,469 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:38:37,469 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-28 05:38:37,470 INFO L87 Difference]: Start difference. First operand 284 states and 336 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:38:38,884 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 05:38:42,700 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 05:38:56,864 WARN L232 SmtUtils]: Spent 14.10s on a formula simplification. DAG size of input: 57 DAG size of output: 42 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 05:39:06,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:06,061 INFO L93 Difference]: Finished difference Result 348 states and 434 transitions. [2022-04-28 05:39:06,061 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:39:06,061 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-28 05:39:06,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:39:06,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:39:06,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 124 transitions. [2022-04-28 05:39:06,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:39:06,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 124 transitions. [2022-04-28 05:39:06,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 124 transitions. [2022-04-28 05:39:08,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 123 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:08,470 INFO L225 Difference]: With dead ends: 348 [2022-04-28 05:39:08,470 INFO L226 Difference]: Without dead ends: 330 [2022-04-28 05:39:08,470 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 18.4s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-28 05:39:08,471 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 27 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 542 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 570 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 542 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:39:08,472 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 246 Invalid, 570 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 542 Invalid, 0 Unknown, 0 Unchecked, 6.5s Time] [2022-04-28 05:39:08,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2022-04-28 05:39:08,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 321. [2022-04-28 05:39:08,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:39:08,889 INFO L82 GeneralOperation]: Start isEquivalent. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 05:39:08,890 INFO L74 IsIncluded]: Start isIncluded. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 05:39:08,890 INFO L87 Difference]: Start difference. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 05:39:08,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:08,898 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-28 05:39:08,898 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-28 05:39:08,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:08,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:08,899 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-28 05:39:08,900 INFO L87 Difference]: Start difference. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-28 05:39:08,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:08,907 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-28 05:39:08,907 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-28 05:39:08,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:08,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:08,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:39:08,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:39:08,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 05:39:08,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 389 transitions. [2022-04-28 05:39:08,918 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 389 transitions. Word has length 90 [2022-04-28 05:39:08,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:39:08,918 INFO L495 AbstractCegarLoop]: Abstraction has 321 states and 389 transitions. [2022-04-28 05:39:08,918 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:39:08,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 389 transitions. [2022-04-28 05:39:12,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 389 edges. 389 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:12,655 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 389 transitions. [2022-04-28 05:39:12,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 05:39:12,656 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:39:12,656 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:39:12,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 05:39:12,875 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:12,875 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:39:12,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:39:12,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 7 times [2022-04-28 05:39:12,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:12,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1855167487] [2022-04-28 05:39:12,876 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:39:12,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 8 times [2022-04-28 05:39:12,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:39:12,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [875648345] [2022-04-28 05:39:12,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:39:12,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:39:12,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:39:12,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [739071031] [2022-04-28 05:39:12,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:39:12,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:12,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:39:12,891 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:39:12,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 05:39:12,939 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:39:12,939 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:39:12,940 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 05:39:12,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:39:12,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:39:13,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {34636#true} call ULTIMATE.init(); {34636#true} is VALID [2022-04-28 05:39:13,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {34636#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {34644#(<= ~counter~0 0)} assume true; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34644#(<= ~counter~0 0)} {34636#true} #82#return; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {34644#(<= ~counter~0 0)} call #t~ret7 := main(); {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {34644#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {34644#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {34644#(<= ~counter~0 0)} ~cond := #in~cond; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {34644#(<= ~counter~0 0)} assume !(0 == ~cond); {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {34644#(<= ~counter~0 0)} assume true; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34644#(<= ~counter~0 0)} {34644#(<= ~counter~0 0)} #64#return; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,337 INFO L272 TraceCheckUtils]: 11: Hoare triple {34644#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,337 INFO L290 TraceCheckUtils]: 12: Hoare triple {34644#(<= ~counter~0 0)} ~cond := #in~cond; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {34644#(<= ~counter~0 0)} assume !(0 == ~cond); {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {34644#(<= ~counter~0 0)} assume true; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,338 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34644#(<= ~counter~0 0)} {34644#(<= ~counter~0 0)} #66#return; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {34644#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34644#(<= ~counter~0 0)} is VALID [2022-04-28 05:39:13,339 INFO L290 TraceCheckUtils]: 17: Hoare triple {34644#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {34693#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,340 INFO L272 TraceCheckUtils]: 19: Hoare triple {34693#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {34693#(<= ~counter~0 1)} ~cond := #in~cond; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {34693#(<= ~counter~0 1)} assume !(0 == ~cond); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {34693#(<= ~counter~0 1)} assume true; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,341 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34693#(<= ~counter~0 1)} {34693#(<= ~counter~0 1)} #68#return; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,342 INFO L272 TraceCheckUtils]: 24: Hoare triple {34693#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {34693#(<= ~counter~0 1)} ~cond := #in~cond; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {34693#(<= ~counter~0 1)} assume !(0 == ~cond); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {34693#(<= ~counter~0 1)} assume true; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,343 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34693#(<= ~counter~0 1)} {34693#(<= ~counter~0 1)} #70#return; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,344 INFO L272 TraceCheckUtils]: 29: Hoare triple {34693#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {34693#(<= ~counter~0 1)} ~cond := #in~cond; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {34693#(<= ~counter~0 1)} assume !(0 == ~cond); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {34693#(<= ~counter~0 1)} assume true; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,345 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34693#(<= ~counter~0 1)} {34693#(<= ~counter~0 1)} #72#return; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {34693#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {34693#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34693#(<= ~counter~0 1)} is VALID [2022-04-28 05:39:13,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {34693#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,346 INFO L290 TraceCheckUtils]: 37: Hoare triple {34751#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,347 INFO L272 TraceCheckUtils]: 38: Hoare triple {34751#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,347 INFO L290 TraceCheckUtils]: 39: Hoare triple {34751#(<= ~counter~0 2)} ~cond := #in~cond; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,347 INFO L290 TraceCheckUtils]: 40: Hoare triple {34751#(<= ~counter~0 2)} assume !(0 == ~cond); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,348 INFO L290 TraceCheckUtils]: 41: Hoare triple {34751#(<= ~counter~0 2)} assume true; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,348 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34751#(<= ~counter~0 2)} {34751#(<= ~counter~0 2)} #68#return; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,349 INFO L272 TraceCheckUtils]: 43: Hoare triple {34751#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,349 INFO L290 TraceCheckUtils]: 44: Hoare triple {34751#(<= ~counter~0 2)} ~cond := #in~cond; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,349 INFO L290 TraceCheckUtils]: 45: Hoare triple {34751#(<= ~counter~0 2)} assume !(0 == ~cond); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,349 INFO L290 TraceCheckUtils]: 46: Hoare triple {34751#(<= ~counter~0 2)} assume true; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,350 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34751#(<= ~counter~0 2)} {34751#(<= ~counter~0 2)} #70#return; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,351 INFO L272 TraceCheckUtils]: 48: Hoare triple {34751#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,351 INFO L290 TraceCheckUtils]: 49: Hoare triple {34751#(<= ~counter~0 2)} ~cond := #in~cond; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,351 INFO L290 TraceCheckUtils]: 50: Hoare triple {34751#(<= ~counter~0 2)} assume !(0 == ~cond); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,351 INFO L290 TraceCheckUtils]: 51: Hoare triple {34751#(<= ~counter~0 2)} assume true; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,352 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34751#(<= ~counter~0 2)} {34751#(<= ~counter~0 2)} #72#return; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,352 INFO L290 TraceCheckUtils]: 53: Hoare triple {34751#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,352 INFO L290 TraceCheckUtils]: 54: Hoare triple {34751#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34751#(<= ~counter~0 2)} is VALID [2022-04-28 05:39:13,353 INFO L290 TraceCheckUtils]: 55: Hoare triple {34751#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,353 INFO L290 TraceCheckUtils]: 56: Hoare triple {34809#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,354 INFO L272 TraceCheckUtils]: 57: Hoare triple {34809#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,354 INFO L290 TraceCheckUtils]: 58: Hoare triple {34809#(<= ~counter~0 3)} ~cond := #in~cond; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,354 INFO L290 TraceCheckUtils]: 59: Hoare triple {34809#(<= ~counter~0 3)} assume !(0 == ~cond); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,355 INFO L290 TraceCheckUtils]: 60: Hoare triple {34809#(<= ~counter~0 3)} assume true; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,355 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34809#(<= ~counter~0 3)} {34809#(<= ~counter~0 3)} #68#return; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,356 INFO L272 TraceCheckUtils]: 62: Hoare triple {34809#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,356 INFO L290 TraceCheckUtils]: 63: Hoare triple {34809#(<= ~counter~0 3)} ~cond := #in~cond; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,356 INFO L290 TraceCheckUtils]: 64: Hoare triple {34809#(<= ~counter~0 3)} assume !(0 == ~cond); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,356 INFO L290 TraceCheckUtils]: 65: Hoare triple {34809#(<= ~counter~0 3)} assume true; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,357 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34809#(<= ~counter~0 3)} {34809#(<= ~counter~0 3)} #70#return; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,357 INFO L272 TraceCheckUtils]: 67: Hoare triple {34809#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,358 INFO L290 TraceCheckUtils]: 68: Hoare triple {34809#(<= ~counter~0 3)} ~cond := #in~cond; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,358 INFO L290 TraceCheckUtils]: 69: Hoare triple {34809#(<= ~counter~0 3)} assume !(0 == ~cond); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,358 INFO L290 TraceCheckUtils]: 70: Hoare triple {34809#(<= ~counter~0 3)} assume true; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,359 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34809#(<= ~counter~0 3)} {34809#(<= ~counter~0 3)} #72#return; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,359 INFO L290 TraceCheckUtils]: 72: Hoare triple {34809#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,359 INFO L290 TraceCheckUtils]: 73: Hoare triple {34809#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34809#(<= ~counter~0 3)} is VALID [2022-04-28 05:39:13,360 INFO L290 TraceCheckUtils]: 74: Hoare triple {34809#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,360 INFO L290 TraceCheckUtils]: 75: Hoare triple {34867#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,361 INFO L272 TraceCheckUtils]: 76: Hoare triple {34867#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,361 INFO L290 TraceCheckUtils]: 77: Hoare triple {34867#(<= ~counter~0 4)} ~cond := #in~cond; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,361 INFO L290 TraceCheckUtils]: 78: Hoare triple {34867#(<= ~counter~0 4)} assume !(0 == ~cond); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,361 INFO L290 TraceCheckUtils]: 79: Hoare triple {34867#(<= ~counter~0 4)} assume true; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,362 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34867#(<= ~counter~0 4)} {34867#(<= ~counter~0 4)} #68#return; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,362 INFO L272 TraceCheckUtils]: 81: Hoare triple {34867#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,363 INFO L290 TraceCheckUtils]: 82: Hoare triple {34867#(<= ~counter~0 4)} ~cond := #in~cond; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,363 INFO L290 TraceCheckUtils]: 83: Hoare triple {34867#(<= ~counter~0 4)} assume !(0 == ~cond); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,363 INFO L290 TraceCheckUtils]: 84: Hoare triple {34867#(<= ~counter~0 4)} assume true; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,364 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34867#(<= ~counter~0 4)} {34867#(<= ~counter~0 4)} #70#return; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,364 INFO L272 TraceCheckUtils]: 86: Hoare triple {34867#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,364 INFO L290 TraceCheckUtils]: 87: Hoare triple {34867#(<= ~counter~0 4)} ~cond := #in~cond; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,365 INFO L290 TraceCheckUtils]: 88: Hoare triple {34867#(<= ~counter~0 4)} assume !(0 == ~cond); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,365 INFO L290 TraceCheckUtils]: 89: Hoare triple {34867#(<= ~counter~0 4)} assume true; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,365 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34867#(<= ~counter~0 4)} {34867#(<= ~counter~0 4)} #72#return; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,366 INFO L290 TraceCheckUtils]: 91: Hoare triple {34867#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,366 INFO L290 TraceCheckUtils]: 92: Hoare triple {34867#(<= ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34867#(<= ~counter~0 4)} is VALID [2022-04-28 05:39:13,366 INFO L290 TraceCheckUtils]: 93: Hoare triple {34867#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34925#(<= |main_#t~post6| 4)} is VALID [2022-04-28 05:39:13,367 INFO L290 TraceCheckUtils]: 94: Hoare triple {34925#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {34637#false} is VALID [2022-04-28 05:39:13,367 INFO L272 TraceCheckUtils]: 95: Hoare triple {34637#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34637#false} is VALID [2022-04-28 05:39:13,367 INFO L290 TraceCheckUtils]: 96: Hoare triple {34637#false} ~cond := #in~cond; {34637#false} is VALID [2022-04-28 05:39:13,367 INFO L290 TraceCheckUtils]: 97: Hoare triple {34637#false} assume 0 == ~cond; {34637#false} is VALID [2022-04-28 05:39:13,367 INFO L290 TraceCheckUtils]: 98: Hoare triple {34637#false} assume !false; {34637#false} is VALID [2022-04-28 05:39:13,367 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 05:39:13,367 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:39:13,768 INFO L290 TraceCheckUtils]: 98: Hoare triple {34637#false} assume !false; {34637#false} is VALID [2022-04-28 05:39:13,768 INFO L290 TraceCheckUtils]: 97: Hoare triple {34637#false} assume 0 == ~cond; {34637#false} is VALID [2022-04-28 05:39:13,768 INFO L290 TraceCheckUtils]: 96: Hoare triple {34637#false} ~cond := #in~cond; {34637#false} is VALID [2022-04-28 05:39:13,768 INFO L272 TraceCheckUtils]: 95: Hoare triple {34637#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34637#false} is VALID [2022-04-28 05:39:13,768 INFO L290 TraceCheckUtils]: 94: Hoare triple {34953#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {34637#false} is VALID [2022-04-28 05:39:13,769 INFO L290 TraceCheckUtils]: 93: Hoare triple {34957#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34953#(< |main_#t~post6| 50)} is VALID [2022-04-28 05:39:13,769 INFO L290 TraceCheckUtils]: 92: Hoare triple {34957#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,769 INFO L290 TraceCheckUtils]: 91: Hoare triple {34957#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,770 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34636#true} {34957#(< ~counter~0 50)} #72#return; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,770 INFO L290 TraceCheckUtils]: 89: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,770 INFO L290 TraceCheckUtils]: 88: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,770 INFO L290 TraceCheckUtils]: 87: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,770 INFO L272 TraceCheckUtils]: 86: Hoare triple {34957#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,770 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34636#true} {34957#(< ~counter~0 50)} #70#return; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 84: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 83: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 82: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L272 TraceCheckUtils]: 81: Hoare triple {34957#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34636#true} {34957#(< ~counter~0 50)} #68#return; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 79: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 78: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,771 INFO L290 TraceCheckUtils]: 77: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,772 INFO L272 TraceCheckUtils]: 76: Hoare triple {34957#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,772 INFO L290 TraceCheckUtils]: 75: Hoare triple {34957#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,773 INFO L290 TraceCheckUtils]: 74: Hoare triple {35015#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34957#(< ~counter~0 50)} is VALID [2022-04-28 05:39:13,773 INFO L290 TraceCheckUtils]: 73: Hoare triple {35015#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,773 INFO L290 TraceCheckUtils]: 72: Hoare triple {35015#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,774 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34636#true} {35015#(< ~counter~0 49)} #72#return; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,774 INFO L290 TraceCheckUtils]: 70: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,774 INFO L290 TraceCheckUtils]: 69: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,774 INFO L290 TraceCheckUtils]: 68: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,774 INFO L272 TraceCheckUtils]: 67: Hoare triple {35015#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,775 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34636#true} {35015#(< ~counter~0 49)} #70#return; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,775 INFO L290 TraceCheckUtils]: 65: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,775 INFO L290 TraceCheckUtils]: 64: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,775 INFO L290 TraceCheckUtils]: 63: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,775 INFO L272 TraceCheckUtils]: 62: Hoare triple {35015#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,775 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34636#true} {35015#(< ~counter~0 49)} #68#return; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,775 INFO L290 TraceCheckUtils]: 60: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,776 INFO L290 TraceCheckUtils]: 59: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,776 INFO L272 TraceCheckUtils]: 57: Hoare triple {35015#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,776 INFO L290 TraceCheckUtils]: 56: Hoare triple {35015#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,777 INFO L290 TraceCheckUtils]: 55: Hoare triple {35073#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35015#(< ~counter~0 49)} is VALID [2022-04-28 05:39:13,777 INFO L290 TraceCheckUtils]: 54: Hoare triple {35073#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,777 INFO L290 TraceCheckUtils]: 53: Hoare triple {35073#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,778 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34636#true} {35073#(< ~counter~0 48)} #72#return; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,778 INFO L290 TraceCheckUtils]: 51: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,778 INFO L290 TraceCheckUtils]: 50: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,778 INFO L290 TraceCheckUtils]: 49: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,778 INFO L272 TraceCheckUtils]: 48: Hoare triple {35073#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,778 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34636#true} {35073#(< ~counter~0 48)} #70#return; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L272 TraceCheckUtils]: 43: Hoare triple {35073#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34636#true} {35073#(< ~counter~0 48)} #68#return; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L290 TraceCheckUtils]: 39: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,779 INFO L272 TraceCheckUtils]: 38: Hoare triple {35073#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,780 INFO L290 TraceCheckUtils]: 37: Hoare triple {35073#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {35131#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35073#(< ~counter~0 48)} is VALID [2022-04-28 05:39:13,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {35131#(< ~counter~0 47)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {35131#(< ~counter~0 47)} assume !!(~a~0 != ~b~0); {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,781 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34636#true} {35131#(< ~counter~0 47)} #72#return; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L290 TraceCheckUtils]: 30: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L272 TraceCheckUtils]: 29: Hoare triple {35131#(< ~counter~0 47)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34636#true} {35131#(< ~counter~0 47)} #70#return; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,782 INFO L272 TraceCheckUtils]: 24: Hoare triple {35131#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,783 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34636#true} {35131#(< ~counter~0 47)} #68#return; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,783 INFO L272 TraceCheckUtils]: 19: Hoare triple {35131#(< ~counter~0 47)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,784 INFO L290 TraceCheckUtils]: 18: Hoare triple {35131#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {35189#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35131#(< ~counter~0 47)} is VALID [2022-04-28 05:39:13,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {35189#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,785 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34636#true} {35189#(< ~counter~0 46)} #66#return; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,785 INFO L290 TraceCheckUtils]: 12: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,785 INFO L272 TraceCheckUtils]: 11: Hoare triple {35189#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34636#true} {35189#(< ~counter~0 46)} #64#return; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {34636#true} assume true; {34636#true} is VALID [2022-04-28 05:39:13,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {34636#true} assume !(0 == ~cond); {34636#true} is VALID [2022-04-28 05:39:13,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {34636#true} ~cond := #in~cond; {34636#true} is VALID [2022-04-28 05:39:13,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {35189#(< ~counter~0 46)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34636#true} is VALID [2022-04-28 05:39:13,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {35189#(< ~counter~0 46)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {35189#(< ~counter~0 46)} call #t~ret7 := main(); {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35189#(< ~counter~0 46)} {34636#true} #82#return; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {35189#(< ~counter~0 46)} assume true; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {34636#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35189#(< ~counter~0 46)} is VALID [2022-04-28 05:39:13,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {34636#true} call ULTIMATE.init(); {34636#true} is VALID [2022-04-28 05:39:13,788 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 05:39:13,788 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:39:13,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [875648345] [2022-04-28 05:39:13,788 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:39:13,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739071031] [2022-04-28 05:39:13,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739071031] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:39:13,788 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:39:13,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 05:39:13,788 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:39:13,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1855167487] [2022-04-28 05:39:13,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1855167487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:39:13,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:39:13,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:39:13,789 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1991141642] [2022-04-28 05:39:13,789 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:39:13,789 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 05:39:13,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:39:13,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:39:13,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:13,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:39:13,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:13,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:39:13,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:39:13,850 INFO L87 Difference]: Start difference. First operand 321 states and 389 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:39:14,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:14,612 INFO L93 Difference]: Finished difference Result 414 states and 490 transitions. [2022-04-28 05:39:14,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:39:14,613 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 05:39:14,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:39:14,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:39:14,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-28 05:39:14,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:39:14,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-28 05:39:14,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 110 transitions. [2022-04-28 05:39:14,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:14,717 INFO L225 Difference]: With dead ends: 414 [2022-04-28 05:39:14,717 INFO L226 Difference]: Without dead ends: 391 [2022-04-28 05:39:14,717 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:39:14,718 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 18 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:39:14,718 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 175 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:39:14,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 391 states. [2022-04-28 05:39:15,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 391 to 376. [2022-04-28 05:39:15,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:39:15,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:39:15,188 INFO L74 IsIncluded]: Start isIncluded. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:39:15,189 INFO L87 Difference]: Start difference. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:39:15,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:15,198 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-28 05:39:15,198 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-28 05:39:15,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:15,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:15,199 INFO L74 IsIncluded]: Start isIncluded. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-28 05:39:15,200 INFO L87 Difference]: Start difference. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-28 05:39:15,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:15,209 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-28 05:39:15,209 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-28 05:39:15,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:15,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:15,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:39:15,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:39:15,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:39:15,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 436 transitions. [2022-04-28 05:39:15,222 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 436 transitions. Word has length 99 [2022-04-28 05:39:15,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:39:15,222 INFO L495 AbstractCegarLoop]: Abstraction has 376 states and 436 transitions. [2022-04-28 05:39:15,222 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:39:15,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 376 states and 436 transitions. [2022-04-28 05:39:17,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 436 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:17,488 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 436 transitions. [2022-04-28 05:39:17,489 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 05:39:17,489 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:39:17,489 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:39:17,505 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Ended with exit code 0 [2022-04-28 05:39:17,691 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 05:39:17,691 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:39:17,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:39:17,692 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 9 times [2022-04-28 05:39:17,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:17,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1014818691] [2022-04-28 05:39:17,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:39:17,692 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 10 times [2022-04-28 05:39:17,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:39:17,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321601875] [2022-04-28 05:39:17,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:39:17,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:39:17,702 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:39:17,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1700141376] [2022-04-28 05:39:17,702 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:39:17,702 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:17,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:39:17,704 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:39:17,704 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 05:39:17,760 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:39:17,760 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:39:17,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 05:39:17,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:39:17,780 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:39:20,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {37613#true} call ULTIMATE.init(); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {37613#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37613#true} {37613#true} #82#return; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {37613#true} call #t~ret7 := main(); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {37613#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {37613#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37613#true} {37613#true} #64#return; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L272 TraceCheckUtils]: 11: Hoare triple {37613#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,642 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37613#true} {37613#true} #66#return; {37613#true} is VALID [2022-04-28 05:39:20,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {37613#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,643 INFO L272 TraceCheckUtils]: 19: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,643 INFO L290 TraceCheckUtils]: 21: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,644 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37613#true} {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,644 INFO L272 TraceCheckUtils]: 24: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,644 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37613#true} {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,644 INFO L272 TraceCheckUtils]: 29: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,645 INFO L290 TraceCheckUtils]: 31: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,645 INFO L290 TraceCheckUtils]: 32: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,645 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37613#true} {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,646 INFO L290 TraceCheckUtils]: 34: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,646 INFO L290 TraceCheckUtils]: 35: Hoare triple {37666#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,647 INFO L290 TraceCheckUtils]: 36: Hoare triple {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,647 INFO L272 TraceCheckUtils]: 38: Hoare triple {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,647 INFO L290 TraceCheckUtils]: 39: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,647 INFO L290 TraceCheckUtils]: 40: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,647 INFO L290 TraceCheckUtils]: 41: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,648 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37613#true} {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,648 INFO L272 TraceCheckUtils]: 43: Hoare triple {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {37613#true} ~cond := #in~cond; {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:20,648 INFO L290 TraceCheckUtils]: 45: Hoare triple {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,649 INFO L290 TraceCheckUtils]: 46: Hoare triple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,649 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} {37724#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,650 INFO L272 TraceCheckUtils]: 48: Hoare triple {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,650 INFO L290 TraceCheckUtils]: 49: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,650 INFO L290 TraceCheckUtils]: 50: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,650 INFO L290 TraceCheckUtils]: 51: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,650 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37613#true} {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,651 INFO L290 TraceCheckUtils]: 53: Hoare triple {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:20,653 INFO L290 TraceCheckUtils]: 54: Hoare triple {37763#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,653 INFO L290 TraceCheckUtils]: 55: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,654 INFO L272 TraceCheckUtils]: 57: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,654 INFO L290 TraceCheckUtils]: 58: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,654 INFO L290 TraceCheckUtils]: 59: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,654 INFO L290 TraceCheckUtils]: 60: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,655 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37613#true} {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #68#return; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,655 INFO L272 TraceCheckUtils]: 62: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,655 INFO L290 TraceCheckUtils]: 63: Hoare triple {37613#true} ~cond := #in~cond; {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:20,656 INFO L290 TraceCheckUtils]: 64: Hoare triple {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,656 INFO L290 TraceCheckUtils]: 65: Hoare triple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,656 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #70#return; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,657 INFO L272 TraceCheckUtils]: 67: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,657 INFO L290 TraceCheckUtils]: 68: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,657 INFO L290 TraceCheckUtils]: 69: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,657 INFO L290 TraceCheckUtils]: 70: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,657 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37613#true} {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #72#return; {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,658 INFO L290 TraceCheckUtils]: 72: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(~a~0 != ~b~0); {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 05:39:20,661 INFO L290 TraceCheckUtils]: 73: Hoare triple {37785#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,662 INFO L290 TraceCheckUtils]: 74: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,663 INFO L290 TraceCheckUtils]: 75: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,663 INFO L272 TraceCheckUtils]: 76: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,663 INFO L290 TraceCheckUtils]: 77: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,663 INFO L290 TraceCheckUtils]: 78: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,663 INFO L290 TraceCheckUtils]: 79: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,663 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37613#true} {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #68#return; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,664 INFO L272 TraceCheckUtils]: 81: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,664 INFO L290 TraceCheckUtils]: 82: Hoare triple {37613#true} ~cond := #in~cond; {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:20,664 INFO L290 TraceCheckUtils]: 83: Hoare triple {37752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,664 INFO L290 TraceCheckUtils]: 84: Hoare triple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:20,665 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #70#return; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,665 INFO L272 TraceCheckUtils]: 86: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,665 INFO L290 TraceCheckUtils]: 87: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,665 INFO L290 TraceCheckUtils]: 88: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,665 INFO L290 TraceCheckUtils]: 89: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,666 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37613#true} {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #72#return; {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,666 INFO L290 TraceCheckUtils]: 91: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(~a~0 != ~b~0); {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 05:39:20,670 INFO L290 TraceCheckUtils]: 92: Hoare triple {37843#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,671 INFO L290 TraceCheckUtils]: 93: Hoare triple {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,671 INFO L290 TraceCheckUtils]: 94: Hoare triple {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,671 INFO L272 TraceCheckUtils]: 95: Hoare triple {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:39:20,671 INFO L290 TraceCheckUtils]: 96: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:39:20,671 INFO L290 TraceCheckUtils]: 97: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:39:20,672 INFO L290 TraceCheckUtils]: 98: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:39:20,672 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37613#true} {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #68#return; {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:20,676 INFO L272 TraceCheckUtils]: 100: Hoare triple {37901#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37926#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:20,676 INFO L290 TraceCheckUtils]: 101: Hoare triple {37926#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37930#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:20,677 INFO L290 TraceCheckUtils]: 102: Hoare triple {37930#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37614#false} is VALID [2022-04-28 05:39:20,677 INFO L290 TraceCheckUtils]: 103: Hoare triple {37614#false} assume !false; {37614#false} is VALID [2022-04-28 05:39:20,677 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 77 proven. 97 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-28 05:39:20,677 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:40:12,426 INFO L290 TraceCheckUtils]: 103: Hoare triple {37614#false} assume !false; {37614#false} is VALID [2022-04-28 05:40:12,427 INFO L290 TraceCheckUtils]: 102: Hoare triple {37930#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37614#false} is VALID [2022-04-28 05:40:12,427 INFO L290 TraceCheckUtils]: 101: Hoare triple {37926#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37930#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:12,428 INFO L272 TraceCheckUtils]: 100: Hoare triple {37946#(= 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)); {37926#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:12,428 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37613#true} {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:12,428 INFO L290 TraceCheckUtils]: 98: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:12,428 INFO L290 TraceCheckUtils]: 97: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:12,428 INFO L290 TraceCheckUtils]: 96: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:12,428 INFO L272 TraceCheckUtils]: 95: Hoare triple {37946#(= 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)); {37613#true} is VALID [2022-04-28 05:40:12,429 INFO L290 TraceCheckUtils]: 94: Hoare triple {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:12,429 INFO L290 TraceCheckUtils]: 93: Hoare triple {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:13,519 INFO L290 TraceCheckUtils]: 92: Hoare triple {37971#(= (+ 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; {37946#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:13,520 INFO L290 TraceCheckUtils]: 91: Hoare triple {37971#(= (+ 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); {37971#(= (+ 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 05:40:13,521 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37613#true} {37971#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {37971#(= (+ 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 05:40:13,521 INFO L290 TraceCheckUtils]: 89: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,521 INFO L290 TraceCheckUtils]: 88: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,521 INFO L290 TraceCheckUtils]: 87: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,521 INFO L272 TraceCheckUtils]: 86: Hoare triple {37971#(= (+ 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)); {37613#true} is VALID [2022-04-28 05:40:13,522 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {37971#(= (+ 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 05:40:13,522 INFO L290 TraceCheckUtils]: 84: Hoare triple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:13,522 INFO L290 TraceCheckUtils]: 83: Hoare triple {38003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:13,523 INFO L290 TraceCheckUtils]: 82: Hoare triple {37613#true} ~cond := #in~cond; {38003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:40:13,523 INFO L272 TraceCheckUtils]: 81: Hoare triple {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,523 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37613#true} {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:40:13,523 INFO L290 TraceCheckUtils]: 79: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,523 INFO L290 TraceCheckUtils]: 78: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,524 INFO L290 TraceCheckUtils]: 77: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,524 INFO L272 TraceCheckUtils]: 76: Hoare triple {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,524 INFO L290 TraceCheckUtils]: 75: Hoare triple {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:40:13,524 INFO L290 TraceCheckUtils]: 74: Hoare triple {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:40:13,752 INFO L290 TraceCheckUtils]: 73: Hoare triple {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37993#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:40:13,753 INFO L290 TraceCheckUtils]: 72: Hoare triple {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:40:13,753 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37613#true} {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:40:13,753 INFO L290 TraceCheckUtils]: 70: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,753 INFO L290 TraceCheckUtils]: 69: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,753 INFO L290 TraceCheckUtils]: 68: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,754 INFO L272 TraceCheckUtils]: 67: Hoare triple {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,756 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} {37613#true} #70#return; {38031#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:40:13,756 INFO L290 TraceCheckUtils]: 65: Hoare triple {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:13,756 INFO L290 TraceCheckUtils]: 64: Hoare triple {38003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:13,756 INFO L290 TraceCheckUtils]: 63: Hoare triple {37613#true} ~cond := #in~cond; {38003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:40:13,757 INFO L272 TraceCheckUtils]: 62: Hoare triple {37613#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37613#true} {37613#true} #68#return; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 58: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L272 TraceCheckUtils]: 57: Hoare triple {37613#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 56: Hoare triple {37613#true} assume !!(#t~post6 < 50);havoc #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 55: Hoare triple {37613#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 54: Hoare triple {37613#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 53: Hoare triple {37613#true} assume !!(~a~0 != ~b~0); {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37613#true} {37613#true} #72#return; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 51: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 50: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L272 TraceCheckUtils]: 48: Hoare triple {37613#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37613#true} {37613#true} #70#return; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 46: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L272 TraceCheckUtils]: 43: Hoare triple {37613#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37613#true} {37613#true} #68#return; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 41: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 40: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 39: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L272 TraceCheckUtils]: 38: Hoare triple {37613#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 37: Hoare triple {37613#true} assume !!(#t~post6 < 50);havoc #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 36: Hoare triple {37613#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {37613#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 34: Hoare triple {37613#true} assume !!(~a~0 != ~b~0); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37613#true} {37613#true} #72#return; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 32: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 31: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L272 TraceCheckUtils]: 29: Hoare triple {37613#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37613#true} {37613#true} #70#return; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L272 TraceCheckUtils]: 24: Hoare triple {37613#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37613#true} {37613#true} #68#return; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L272 TraceCheckUtils]: 19: Hoare triple {37613#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {37613#true} assume !!(#t~post6 < 50);havoc #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {37613#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {37613#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37613#true} {37613#true} #66#return; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 14: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 12: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L272 TraceCheckUtils]: 11: Hoare triple {37613#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37613#true} {37613#true} #64#return; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {37613#true} assume !(0 == ~cond); {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {37613#true} ~cond := #in~cond; {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L272 TraceCheckUtils]: 6: Hoare triple {37613#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37613#true} is VALID [2022-04-28 05:40:13,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {37613#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {37613#true} call #t~ret7 := main(); {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37613#true} {37613#true} #82#return; {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {37613#true} assume true; {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {37613#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {37613#true} call ULTIMATE.init(); {37613#true} is VALID [2022-04-28 05:40:13,761 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 108 proven. 27 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 05:40:13,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:40:13,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321601875] [2022-04-28 05:40:13,761 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:40:13,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1700141376] [2022-04-28 05:40:13,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1700141376] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:40:13,762 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:40:13,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-28 05:40:13,762 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:40:13,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1014818691] [2022-04-28 05:40:13,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1014818691] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:40:13,762 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:40:13,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 05:40:13,762 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664772975] [2022-04-28 05:40:13,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:40:13,763 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-28 05:40:13,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:40:13,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 05:40:13,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:13,861 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 05:40:13,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:13,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 05:40:13,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:40:13,862 INFO L87 Difference]: Start difference. First operand 376 states and 436 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 05:40:17,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:17,510 INFO L93 Difference]: Finished difference Result 403 states and 475 transitions. [2022-04-28 05:40:17,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:40:17,510 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-28 05:40:17,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:40:17,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 05:40:17,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-28 05:40:17,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 05:40:17,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-28 05:40:17,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-04-28 05:40:17,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:17,700 INFO L225 Difference]: With dead ends: 403 [2022-04-28 05:40:17,700 INFO L226 Difference]: Without dead ends: 401 [2022-04-28 05:40:17,700 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 189 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=69, Invalid=273, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:40:17,701 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 14 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 609 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 620 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 609 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-28 05:40:17,702 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 290 Invalid, 620 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 609 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-28 05:40:17,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 401 states. [2022-04-28 05:40:18,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 401 to 385. [2022-04-28 05:40:18,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:40:18,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 05:40:18,174 INFO L74 IsIncluded]: Start isIncluded. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 05:40:18,175 INFO L87 Difference]: Start difference. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 05:40:18,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:18,184 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-28 05:40:18,184 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-28 05:40:18,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:18,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:18,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-28 05:40:18,186 INFO L87 Difference]: Start difference. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-28 05:40:18,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:18,195 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-28 05:40:18,195 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-28 05:40:18,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:18,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:18,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:40:18,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:40:18,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 05:40:18,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 385 states to 385 states and 448 transitions. [2022-04-28 05:40:18,209 INFO L78 Accepts]: Start accepts. Automaton has 385 states and 448 transitions. Word has length 104 [2022-04-28 05:40:18,209 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:40:18,209 INFO L495 AbstractCegarLoop]: Abstraction has 385 states and 448 transitions. [2022-04-28 05:40:18,209 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 05:40:18,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 385 states and 448 transitions. [2022-04-28 05:40:20,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 448 edges. 448 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:20,998 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 448 transitions. [2022-04-28 05:40:20,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 05:40:20,998 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:40:20,999 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:40:21,015 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 05:40:21,203 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 05:40:21,203 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:40:21,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:40:21,204 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 19 times [2022-04-28 05:40:21,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:21,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1018266665] [2022-04-28 05:40:21,204 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:40:21,204 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 20 times [2022-04-28 05:40:21,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:40:21,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2079740774] [2022-04-28 05:40:21,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:40:21,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:40:21,223 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:40:21,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1675423491] [2022-04-28 05:40:21,223 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:40:21,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:40:21,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:40:21,228 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:40:21,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 05:40:21,286 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:40:21,287 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:40:21,288 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 05:40:21,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:40:21,308 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:40:23,144 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:40:23,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {40635#true} call ULTIMATE.init(); {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {40635#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40635#true} {40635#true} #82#return; {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {40635#true} call #t~ret7 := main(); {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {40635#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40635#true} is VALID [2022-04-28 05:40:23,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {40635#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40635#true} {40635#true} #64#return; {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L272 TraceCheckUtils]: 11: Hoare triple {40635#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 12: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,215 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40635#true} {40635#true} #66#return; {40635#true} is VALID [2022-04-28 05:40:23,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {40635#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {40688#(and (= 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 05:40:23,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40688#(and (= 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 05:40:23,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {40688#(and (= 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 05:40:23,217 INFO L272 TraceCheckUtils]: 19: Hoare triple {40688#(and (= 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)); {40635#true} is VALID [2022-04-28 05:40:23,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,218 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40635#true} {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {40688#(and (= 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 05:40:23,218 INFO L272 TraceCheckUtils]: 24: Hoare triple {40688#(and (= 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)); {40635#true} is VALID [2022-04-28 05:40:23,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,219 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40635#true} {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {40688#(and (= 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 05:40:23,219 INFO L272 TraceCheckUtils]: 29: Hoare triple {40688#(and (= 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)); {40635#true} is VALID [2022-04-28 05:40:23,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,220 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40635#true} {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {40688#(and (= 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 05:40:23,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {40688#(and (= 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); {40688#(and (= 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 05:40:23,222 INFO L290 TraceCheckUtils]: 35: Hoare triple {40688#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,223 INFO L290 TraceCheckUtils]: 37: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,223 INFO L272 TraceCheckUtils]: 38: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,223 INFO L290 TraceCheckUtils]: 39: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,223 INFO L290 TraceCheckUtils]: 41: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,224 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40635#true} {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,224 INFO L272 TraceCheckUtils]: 43: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,224 INFO L290 TraceCheckUtils]: 44: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,224 INFO L290 TraceCheckUtils]: 45: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,224 INFO L290 TraceCheckUtils]: 46: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,225 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40635#true} {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,225 INFO L272 TraceCheckUtils]: 48: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,225 INFO L290 TraceCheckUtils]: 49: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,225 INFO L290 TraceCheckUtils]: 50: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,226 INFO L290 TraceCheckUtils]: 51: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,226 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40635#true} {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,227 INFO L290 TraceCheckUtils]: 53: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:40:23,228 INFO L290 TraceCheckUtils]: 54: Hoare triple {40746#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,229 INFO L290 TraceCheckUtils]: 55: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,230 INFO L290 TraceCheckUtils]: 56: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,230 INFO L272 TraceCheckUtils]: 57: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,230 INFO L290 TraceCheckUtils]: 58: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,230 INFO L290 TraceCheckUtils]: 59: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,230 INFO L290 TraceCheckUtils]: 60: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,231 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40635#true} {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,231 INFO L272 TraceCheckUtils]: 62: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,231 INFO L290 TraceCheckUtils]: 64: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,231 INFO L290 TraceCheckUtils]: 65: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,232 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40635#true} {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,232 INFO L272 TraceCheckUtils]: 67: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,232 INFO L290 TraceCheckUtils]: 68: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,232 INFO L290 TraceCheckUtils]: 69: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,233 INFO L290 TraceCheckUtils]: 70: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,233 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40635#true} {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 05:40:23,234 INFO L290 TraceCheckUtils]: 72: Hoare triple {40804#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {40859#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:23,236 INFO L290 TraceCheckUtils]: 73: Hoare triple {40859#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,236 INFO L290 TraceCheckUtils]: 74: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,237 INFO L290 TraceCheckUtils]: 75: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,237 INFO L272 TraceCheckUtils]: 76: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,237 INFO L290 TraceCheckUtils]: 77: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,238 INFO L290 TraceCheckUtils]: 78: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,238 INFO L290 TraceCheckUtils]: 79: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,238 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40635#true} {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,239 INFO L272 TraceCheckUtils]: 81: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,239 INFO L290 TraceCheckUtils]: 82: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,239 INFO L290 TraceCheckUtils]: 83: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,239 INFO L290 TraceCheckUtils]: 84: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,240 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40635#true} {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,240 INFO L272 TraceCheckUtils]: 86: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,240 INFO L290 TraceCheckUtils]: 87: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,240 INFO L290 TraceCheckUtils]: 88: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,240 INFO L290 TraceCheckUtils]: 89: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,241 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40635#true} {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,241 INFO L290 TraceCheckUtils]: 91: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:40:23,244 INFO L290 TraceCheckUtils]: 92: Hoare triple {40863#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:40:23,245 INFO L290 TraceCheckUtils]: 93: Hoare triple {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:40:23,246 INFO L290 TraceCheckUtils]: 94: Hoare triple {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:40:23,246 INFO L272 TraceCheckUtils]: 95: Hoare triple {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:23,246 INFO L290 TraceCheckUtils]: 96: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:23,246 INFO L290 TraceCheckUtils]: 97: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:23,246 INFO L290 TraceCheckUtils]: 98: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:23,247 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40635#true} {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 05:40:23,250 INFO L272 TraceCheckUtils]: 100: Hoare triple {40921#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40946#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:23,250 INFO L290 TraceCheckUtils]: 101: Hoare triple {40946#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40950#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:23,251 INFO L290 TraceCheckUtils]: 102: Hoare triple {40950#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40636#false} is VALID [2022-04-28 05:40:23,251 INFO L290 TraceCheckUtils]: 103: Hoare triple {40636#false} assume !false; {40636#false} is VALID [2022-04-28 05:40:23,251 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 05:40:23,251 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:40:24,302 INFO L290 TraceCheckUtils]: 103: Hoare triple {40636#false} assume !false; {40636#false} is VALID [2022-04-28 05:40:24,303 INFO L290 TraceCheckUtils]: 102: Hoare triple {40950#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40636#false} is VALID [2022-04-28 05:40:24,303 INFO L290 TraceCheckUtils]: 101: Hoare triple {40946#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40950#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:24,304 INFO L272 TraceCheckUtils]: 100: Hoare triple {40966#(= 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)); {40946#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:24,304 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40635#true} {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:24,305 INFO L290 TraceCheckUtils]: 98: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:24,305 INFO L290 TraceCheckUtils]: 97: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:24,305 INFO L290 TraceCheckUtils]: 96: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:24,305 INFO L272 TraceCheckUtils]: 95: Hoare triple {40966#(= 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)); {40635#true} is VALID [2022-04-28 05:40:24,305 INFO L290 TraceCheckUtils]: 94: Hoare triple {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:24,305 INFO L290 TraceCheckUtils]: 93: Hoare triple {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:24,578 INFO L290 TraceCheckUtils]: 92: Hoare triple {40991#(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; {40966#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:40:24,579 INFO L290 TraceCheckUtils]: 91: Hoare triple {40991#(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); {40991#(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 05:40:24,580 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40635#true} {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #72#return; {40991#(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 05:40:24,580 INFO L290 TraceCheckUtils]: 89: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:24,580 INFO L290 TraceCheckUtils]: 88: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:24,580 INFO L290 TraceCheckUtils]: 87: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:24,580 INFO L272 TraceCheckUtils]: 86: Hoare triple {40991#(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)); {40635#true} is VALID [2022-04-28 05:40:24,581 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40635#true} {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #70#return; {40991#(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 05:40:24,581 INFO L290 TraceCheckUtils]: 84: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:24,581 INFO L290 TraceCheckUtils]: 83: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:24,581 INFO L290 TraceCheckUtils]: 82: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:24,581 INFO L272 TraceCheckUtils]: 81: Hoare triple {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:24,581 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40635#true} {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #68#return; {40991#(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 05:40:24,582 INFO L290 TraceCheckUtils]: 79: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:24,582 INFO L290 TraceCheckUtils]: 78: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:24,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:24,582 INFO L272 TraceCheckUtils]: 76: Hoare triple {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:24,582 INFO L290 TraceCheckUtils]: 75: Hoare triple {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {40991#(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 05:40:24,583 INFO L290 TraceCheckUtils]: 74: Hoare triple {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40991#(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 05:40:26,585 WARN L290 TraceCheckUtils]: 73: Hoare triple {41049#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {40991#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is UNKNOWN [2022-04-28 05:40:26,586 INFO L290 TraceCheckUtils]: 72: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {41049#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:26,587 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40635#true} {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:26,587 INFO L290 TraceCheckUtils]: 70: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:26,587 INFO L290 TraceCheckUtils]: 69: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:26,587 INFO L290 TraceCheckUtils]: 68: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:26,587 INFO L272 TraceCheckUtils]: 67: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:26,588 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40635#true} {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:26,588 INFO L290 TraceCheckUtils]: 65: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:26,588 INFO L290 TraceCheckUtils]: 64: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:26,588 INFO L290 TraceCheckUtils]: 63: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:26,588 INFO L272 TraceCheckUtils]: 62: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:26,589 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40635#true} {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:26,589 INFO L290 TraceCheckUtils]: 60: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:26,589 INFO L290 TraceCheckUtils]: 59: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:26,589 INFO L290 TraceCheckUtils]: 58: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:26,589 INFO L272 TraceCheckUtils]: 57: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:26,589 INFO L290 TraceCheckUtils]: 56: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:26,590 INFO L290 TraceCheckUtils]: 55: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:40:28,592 WARN L290 TraceCheckUtils]: 54: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-28 05:40:28,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(~a~0 != ~b~0); {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,594 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40635#true} {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #72#return; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,594 INFO L290 TraceCheckUtils]: 51: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,594 INFO L290 TraceCheckUtils]: 50: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,594 INFO L290 TraceCheckUtils]: 49: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,594 INFO L272 TraceCheckUtils]: 48: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,595 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40635#true} {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #70#return; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,595 INFO L290 TraceCheckUtils]: 45: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,595 INFO L272 TraceCheckUtils]: 43: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,596 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40635#true} {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #68#return; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,596 INFO L290 TraceCheckUtils]: 41: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,596 INFO L290 TraceCheckUtils]: 40: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,596 INFO L290 TraceCheckUtils]: 39: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,596 INFO L272 TraceCheckUtils]: 38: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(#t~post6 < 50);havoc #t~post6; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {41108#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 05:40:28,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(~a~0 != ~b~0); {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,754 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40635#true} {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #72#return; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,755 INFO L272 TraceCheckUtils]: 29: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,755 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40635#true} {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #70#return; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,755 INFO L272 TraceCheckUtils]: 24: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,756 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40635#true} {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #68#return; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,756 INFO L272 TraceCheckUtils]: 19: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 16: Hoare triple {40635#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41166#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 05:40:28,758 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40635#true} {40635#true} #66#return; {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L272 TraceCheckUtils]: 11: Hoare triple {40635#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40635#true} {40635#true} #64#return; {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {40635#true} assume !(0 == ~cond); {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {40635#true} ~cond := #in~cond; {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L272 TraceCheckUtils]: 6: Hoare triple {40635#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {40635#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {40635#true} call #t~ret7 := main(); {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40635#true} {40635#true} #82#return; {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {40635#true} assume true; {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {40635#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40635#true} is VALID [2022-04-28 05:40:28,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {40635#true} call ULTIMATE.init(); {40635#true} is VALID [2022-04-28 05:40:28,760 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 05:40:28,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:40:28,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2079740774] [2022-04-28 05:40:28,760 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:40:28,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1675423491] [2022-04-28 05:40:28,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1675423491] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:40:28,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:40:28,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 05:40:28,760 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:40:28,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1018266665] [2022-04-28 05:40:28,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1018266665] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:40:28,760 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:40:28,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:40:28,760 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1373473507] [2022-04-28 05:40:28,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:40:28,761 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 05:40:28,761 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:40:28,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:40:28,854 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 05:40:28,854 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:40:28,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:28,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:40:28,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:40:28,855 INFO L87 Difference]: Start difference. First operand 385 states and 448 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:40:31,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:31,650 INFO L93 Difference]: Finished difference Result 433 states and 509 transitions. [2022-04-28 05:40:31,650 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:40:31,650 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 05:40:31,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:40:31,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:40:31,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-28 05:40:31,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:40:31,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-28 05:40:31,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 108 transitions. [2022-04-28 05:40:31,809 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:31,820 INFO L225 Difference]: With dead ends: 433 [2022-04-28 05:40:31,820 INFO L226 Difference]: Without dead ends: 431 [2022-04-28 05:40:31,821 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:40:31,821 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 10 mSDsluCounter, 229 mSDsCounter, 0 mSdLazyCounter, 401 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 413 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 401 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:40:31,822 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 290 Invalid, 413 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 401 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 05:40:31,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-28 05:40:32,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 415. [2022-04-28 05:40:32,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:40:32,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 05:40:32,372 INFO L74 IsIncluded]: Start isIncluded. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 05:40:32,373 INFO L87 Difference]: Start difference. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 05:40:32,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:32,381 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-28 05:40:32,381 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-28 05:40:32,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:32,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:32,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-28 05:40:32,383 INFO L87 Difference]: Start difference. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-28 05:40:32,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:32,393 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-28 05:40:32,394 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-28 05:40:32,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:32,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:32,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:40:32,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:40:32,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 05:40:32,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 482 transitions. [2022-04-28 05:40:32,409 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 482 transitions. Word has length 104 [2022-04-28 05:40:32,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:40:32,409 INFO L495 AbstractCegarLoop]: Abstraction has 415 states and 482 transitions. [2022-04-28 05:40:32,409 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:40:32,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 482 transitions. [2022-04-28 05:40:36,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 482 edges. 481 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:36,716 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 482 transitions. [2022-04-28 05:40:36,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 05:40:36,717 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:40:36,717 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:40:36,733 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Ended with exit code 0 [2022-04-28 05:40:36,919 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 05:40:36,919 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:40:36,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:40:36,920 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 21 times [2022-04-28 05:40:36,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:36,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [970987758] [2022-04-28 05:40:36,920 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:40:36,920 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 22 times [2022-04-28 05:40:36,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:40:36,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [12175848] [2022-04-28 05:40:36,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:40:36,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:40:36,930 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:40:36,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [900840243] [2022-04-28 05:40:36,930 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:40:36,930 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:40:36,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:40:36,931 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:40:36,938 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 05:40:36,988 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:40:36,988 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:40:36,990 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-28 05:40:37,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:40:37,007 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:40:38,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {43834#true} call ULTIMATE.init(); {43834#true} is VALID [2022-04-28 05:40:38,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {43834#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {43834#true} is VALID [2022-04-28 05:40:38,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43834#true} {43834#true} #82#return; {43834#true} is VALID [2022-04-28 05:40:38,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {43834#true} call #t~ret7 := main(); {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {43834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L272 TraceCheckUtils]: 6: Hoare triple {43834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 7: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 8: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 9: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43834#true} {43834#true} #64#return; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L272 TraceCheckUtils]: 11: Hoare triple {43834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 12: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 13: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L290 TraceCheckUtils]: 14: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,102 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43834#true} {43834#true} #66#return; {43834#true} is VALID [2022-04-28 05:40:38,103 INFO L290 TraceCheckUtils]: 16: Hoare triple {43834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43887#(and (= 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 05:40:38,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43887#(and (= 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 05:40:38,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {43887#(and (= 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 05:40:38,103 INFO L272 TraceCheckUtils]: 19: Hoare triple {43887#(and (= 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)); {43834#true} is VALID [2022-04-28 05:40:38,104 INFO L290 TraceCheckUtils]: 20: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,104 INFO L290 TraceCheckUtils]: 21: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,104 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43834#true} {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {43887#(and (= 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 05:40:38,104 INFO L272 TraceCheckUtils]: 24: Hoare triple {43887#(and (= 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)); {43834#true} is VALID [2022-04-28 05:40:38,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {43834#true} ~cond := #in~cond; {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,106 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {43887#(and (= 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 05:40:38,106 INFO L272 TraceCheckUtils]: 29: Hoare triple {43887#(and (= 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)); {43834#true} is VALID [2022-04-28 05:40:38,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,106 INFO L290 TraceCheckUtils]: 32: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,107 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43834#true} {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {43887#(and (= 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 05:40:38,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {43887#(and (= 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); {43887#(and (= 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 05:40:38,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {43887#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,108 INFO L290 TraceCheckUtils]: 36: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,109 INFO L290 TraceCheckUtils]: 37: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,109 INFO L272 TraceCheckUtils]: 38: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,109 INFO L290 TraceCheckUtils]: 39: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,109 INFO L290 TraceCheckUtils]: 41: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,109 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43834#true} {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,109 INFO L272 TraceCheckUtils]: 43: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,110 INFO L290 TraceCheckUtils]: 44: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,110 INFO L290 TraceCheckUtils]: 45: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,110 INFO L290 TraceCheckUtils]: 46: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,110 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43834#true} {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,110 INFO L272 TraceCheckUtils]: 48: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {43834#true} ~cond := #in~cond; {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,111 INFO L290 TraceCheckUtils]: 50: Hoare triple {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,111 INFO L290 TraceCheckUtils]: 51: Hoare triple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,112 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,112 INFO L290 TraceCheckUtils]: 53: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:40:38,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {43947#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,113 INFO L290 TraceCheckUtils]: 55: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,114 INFO L290 TraceCheckUtils]: 56: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,114 INFO L272 TraceCheckUtils]: 57: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,114 INFO L290 TraceCheckUtils]: 58: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,114 INFO L290 TraceCheckUtils]: 59: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,114 INFO L290 TraceCheckUtils]: 60: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,120 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43834#true} {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #68#return; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,123 INFO L272 TraceCheckUtils]: 62: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,124 INFO L290 TraceCheckUtils]: 63: Hoare triple {43834#true} ~cond := #in~cond; {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,124 INFO L290 TraceCheckUtils]: 64: Hoare triple {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,125 INFO L290 TraceCheckUtils]: 65: Hoare triple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,126 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #70#return; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,126 INFO L272 TraceCheckUtils]: 67: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,126 INFO L290 TraceCheckUtils]: 68: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,126 INFO L290 TraceCheckUtils]: 69: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,126 INFO L290 TraceCheckUtils]: 70: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,127 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43834#true} {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #72#return; {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,128 INFO L290 TraceCheckUtils]: 72: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:40:38,129 INFO L290 TraceCheckUtils]: 73: Hoare triple {44005#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,130 INFO L290 TraceCheckUtils]: 74: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,131 INFO L290 TraceCheckUtils]: 75: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,131 INFO L272 TraceCheckUtils]: 76: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,131 INFO L290 TraceCheckUtils]: 77: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,131 INFO L290 TraceCheckUtils]: 78: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,131 INFO L290 TraceCheckUtils]: 79: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,132 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43834#true} {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #68#return; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,132 INFO L272 TraceCheckUtils]: 81: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,133 INFO L290 TraceCheckUtils]: 82: Hoare triple {43834#true} ~cond := #in~cond; {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,133 INFO L290 TraceCheckUtils]: 83: Hoare triple {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,134 INFO L290 TraceCheckUtils]: 84: Hoare triple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,135 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #70#return; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,135 INFO L272 TraceCheckUtils]: 86: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,135 INFO L290 TraceCheckUtils]: 87: Hoare triple {43834#true} ~cond := #in~cond; {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,136 INFO L290 TraceCheckUtils]: 88: Hoare triple {43915#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,136 INFO L290 TraceCheckUtils]: 89: Hoare triple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:38,137 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43919#(not (= |__VERIFIER_assert_#in~cond| 0))} {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #72#return; {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,138 INFO L290 TraceCheckUtils]: 91: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(~a~0 != ~b~0); {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 05:40:38,140 INFO L290 TraceCheckUtils]: 92: Hoare triple {44063#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 05:40:38,140 INFO L290 TraceCheckUtils]: 93: Hoare triple {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 05:40:38,141 INFO L290 TraceCheckUtils]: 94: Hoare triple {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 05:40:38,141 INFO L272 TraceCheckUtils]: 95: Hoare triple {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43834#true} is VALID [2022-04-28 05:40:38,141 INFO L290 TraceCheckUtils]: 96: Hoare triple {43834#true} ~cond := #in~cond; {43834#true} is VALID [2022-04-28 05:40:38,141 INFO L290 TraceCheckUtils]: 97: Hoare triple {43834#true} assume !(0 == ~cond); {43834#true} is VALID [2022-04-28 05:40:38,142 INFO L290 TraceCheckUtils]: 98: Hoare triple {43834#true} assume true; {43834#true} is VALID [2022-04-28 05:40:38,142 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43834#true} {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #68#return; {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 05:40:38,145 INFO L272 TraceCheckUtils]: 100: Hoare triple {44121#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44146#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:38,145 INFO L290 TraceCheckUtils]: 101: Hoare triple {44146#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44150#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:38,146 INFO L290 TraceCheckUtils]: 102: Hoare triple {44150#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43835#false} is VALID [2022-04-28 05:40:38,146 INFO L290 TraceCheckUtils]: 103: Hoare triple {43835#false} assume !false; {43835#false} is VALID [2022-04-28 05:40:38,147 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 93 proven. 111 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 05:40:38,147 INFO L328 TraceCheckSpWp]: Computing backward predicates...